LIST OF RIVERS BY DISCHARGE; THE CONTRIBUTION OF SOUTH AMERICA.

##La lista de los caudales de los ríos es importante porque proporciona información esencial sobre el flujo de agua en diferentes ríos. Este dato es crucial para diversas aplicaciones, como la gestión de recursos hídricos, la planificación de infraestructuras hidráulicas, la evaluación de riesgos de inundaciones, el mantenimiento de ecosistemas acuáticos y la toma de decisiones en agricultura e industria. Además, conocer el caudal ayuda a entender patrones climáticos y el impacto del cambio climático en los cuerpos de agua.

##Acerca del conjunto de datos. Esta es una lista de ríos por su caudal medio, es decir, su caudal de agua. Aquí sólo se muestran los ríos cuyo caudal es superior a 2.000 m3/s . Por ejemplo, el volumen de una piscina olímpica es de 2.500 m3. El caudal medio en la desembocadura del Amazonas es suficiente para llenar más de 83 piscinas de este tipo por segundo.

#variables de nuestra database

##1- s_no: Rank of river as per their average discharge or water flow rate

##2- continent: Continent in which the river is located

##3- river: Name of the river

##4- length_km: Length of the river in Kilometers

##5- length_miles: Length of the river in Miles

##6- drainage_area: Area which river’s basin covers or sum of area around which river flows in km^2

##7. average_discharge: River’s water flow rate in m^3/s

##8- outflow: Large water body, river flows into.

library(ggplot2)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
# Cargar el archivo CSV
data <- read.csv("rivers_by_discharge.csv")

# Verifica los nombres de las columnas
colnames(data)
## [1] "s_no"              "continent"         "river"            
## [4] "length_km"         "length_miles"      "drainage_area"    
## [7] "average_discharge" "outflow"
# Muestra las primeras filas
head(data)
##   s_no     continent                     river length_km length_miles
## 1    1 South America                    Amazon     6,400        3,976
## 2    2        Africa             Congo (Zaire)     4,370        2,716
## 3    3          Asia Ganges-Brahmaputra/Meghna     2,704        1,680
## 4    4 South America                   Orinoco     2,250        1,398
## 5    5 South America            Guainía/Negro     2,230        1,390
## 6    6 South America                   Madeira     1,450          900
##   drainage_area average_discharge        outflow
## 1     6,112,000           209,000 Atlantic Ocean
## 2     4,014,500            41,200 Atlantic Ocean
## 3     1,731,334            38,129   Indian Ocean
## 4       989,000            37,740 Atlantic Ocean
## 5       691,000            35,943   Amazon River
## 6     1,376,000            31,200   Amazon River
# Convierte las columnas a numérico, eliminando caracteres no numéricos
data$length_km <- as.numeric(gsub("[^0-9.]", "", as.character(data$length_km)))
data$average_discharge <- as.numeric(gsub("[^0-9.]", "", as.character(data$average_discharge)))

# Verifica valores faltantes
sum(is.na(data$length_km))
## [1] 0
sum(is.na(data$average_discharge))
## [1] 0
# Seleccionar los 10 ríos con mayor descarga media
top_10_discharge <- data %>%
  arrange(desc(average_discharge)) %>%
  head(10)

# Verifica el contenido del objeto
print(top_10_discharge)
##    s_no     continent                     river length_km length_miles
## 1     1 South America                    Amazon      6400        3,976
## 2     2        Africa             Congo (Zaire)      4370        2,716
## 3     3          Asia Ganges-Brahmaputra/Meghna      2704        1,680
## 4     4 South America                   Orinoco      2250        1,398
## 5     5 South America            Guainía/Negro      2230        1,390
## 6     6 South America                   Madeira      1450          900
## 7     7          Asia                   Yangtze      6300        3,915
## 8     8 South America          Río de la Plata       290          180
## 9     9          Asia               Brahmaputra      2937        1,823
## 10   10          Asia                   Yenisei      3438        2,136
##    drainage_area average_discharge        outflow
## 1      6,112,000            209000 Atlantic Ocean
## 2      4,014,500             41200 Atlantic Ocean
## 3      1,731,334             38129   Indian Ocean
## 4        989,000             37740 Atlantic Ocean
## 5        691,000             35943   Amazon River
## 6      1,376,000             31200   Amazon River
## 7      1,808,500             30146  Pacific Ocean
## 8      3,182,064             27225 Atlantic Ocean
## 9        651,334             19824          Padma
## 10     2,580,000             19800   Arctic Ocean
# Gráfico de Barras de los 10 Ríos con Mayor Descarga Media
ggplot(top_10_discharge, aes(x = reorder(river, average_discharge), y = average_discharge, fill = continent)) +
  geom_bar(stat = "identity") +
  coord_flip() +
  labs(title = "Top 10 Ríos por Descarga Media", x = "Río", y = "Descarga Media (m³/s)") +
  theme_minimal()

### gráfico 1: El gráfico de barras muestra los 10 ríos con la mayor descarga media. La visualización, con los ríos ordenados de acuerdo con su descarga media y presentada en formato horizontal, revela que el Amazonas lidera claramente con la descarga media más alta. Otros ríos destacados incluyen el Congo y el Ganges-Brahmaputra, también con descargas medias significativas. La diferenciación por continente, indicada mediante el color de relleno, destaca que la mayoría de los ríos con altas descargas se encuentran en Sudamérica y Asia. Este gráfico proporciona una vista clara de los ríos más caudalosos y su distribución por continente.

# Gráfico de Dispersión de Longitud vs. Descarga Media para los 10 Principales Ríos
ggplot(top_10_discharge, aes(x = length_km, y = average_discharge, color = river)) +
  geom_point(size = 3) +
  labs(title = "Longitud vs. Descarga Media para los 10 Principales Ríos", x = "Longitud (km)", y = "Descarga Media (m³/s)") +
  geom_text(aes(label = river), vjust = -0.5, size = 3) +
  theme_minimal()

##grafico 2: # Gráfico de Dispersión de Longitud vs. Descarga Media para los 10 Principales Ríos

##El gráfico de dispersión muestra la relación entre la longitud del río y su descarga media para los 10 principales ríos. Se observa que el río Amazonas destaca por ser el más largo (6400 km) y tener la mayor descarga media (209,000 m³/s), sin embargo, no existe una correlación lineal clara entre la longitud del río y su descarga media. Por ejemplo, el río Congo, a pesar de su considerable longitud (4370 km), tiene una descarga significativamente menor (41,200 m³/s) en comparación con el Amazonas. Del mismo modo, el Río de la Plata, con solo 290 km de longitud, tiene una descarga alta de 27,225 m³/s, lo que sugiere que factores adicionales, como el área de drenaje y las características geográficas, también influyen en la descarga media de un río.

ggplot(top_10_discharge, aes(x = length_km, y = average_discharge, color = river)) +
  geom_point(size = 3) +
  geom_smooth(method = "lm", se = FALSE, color = "red") +
  labs(title = "Longitud vs. Descarga Media para los 10 Principales Ríos", x = "Longitud (km)", y = "Descarga Media (m³/s)") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

##gráfico 3: Dispersión lineal ##El gráfico de dispersión con la línea de regresión lineal ajustada muestra la relación entre la longitud del río y su descarga media para los 10 principales ríos. Aunque la línea de regresión sugiere una ligera tendencia positiva, indicando que ríos más largos tienden a tener una mayor descarga media, la relación no es fuertemente lineal. El río Amazonas, con la mayor longitud (6400 km) y la descarga media más alta (209,000 m³/s), influye notablemente en esta tendencia. Sin embargo, otros ríos como el Congo y el Río de la Plata, con longitudes y descargas que no siguen el patrón general, demuestran que hay una considerable variabilidad y que la longitud del río no es el único factor que determina su descarga media.

ggplot(data, aes(x = average_discharge, fill = continent)) +
  geom_histogram(binwidth = 10000000, position = "dodge") +
  labs(title = "Distribución de la Descarga Media por Continente", x = "Descarga Media (m³/s)", y = "Frecuencia") +
  theme_minimal()

## Se observa que las descargas medias más altas se concentran en ríos de Sudamérica, como el Amazonas, que tiene la descarga media más elevada. La distribución por continente resalta cómo ciertos continentes, como Sudamérica y África, tienen ríos con descargas medias significativamente mayores en comparación con otros continentes, indicando que las características geográficas y climáticas tienen un fuerte impacto en la hidrología de los ríos.

ggplot(data, aes(x = continent, y = length_km, fill = continent)) +
  geom_boxplot() +
  labs(title = "Longitud de los Ríos por Continente", x = "Continente", y = "Longitud (km)") +
  theme_minimal()

# Calcular los valores estadísticos para cada continente
boxplot_stats <- data %>%
  group_by(continent) %>%
  summarise(
    Min = min(length_km, na.rm = TRUE),
    Q1 = quantile(length_km, 0.25, na.rm = TRUE),
    Median = median(length_km, na.rm = TRUE),
    Q3 = quantile(length_km, 0.75, na.rm = TRUE),
    Max = max(length_km, na.rm = TRUE)
  )

# Mostrar los resultados en una tabla
print(boxplot_stats)
## # A tibble: 6 × 6
##   continent       Min    Q1 Median    Q3   Max
##   <chr>         <dbl> <dbl>  <dbl> <dbl> <dbl>
## 1 Africa          790 1200   1370  2574   6853
## 2 Asia            450 1025   1450. 2846.  6300
## 3 Europe           74 1376   1807  2597.  3531
## 4 North America    44 1180   1830. 2937.  3767
## 5 Oceania         405  853   1060  1146   1175
## 6 South America   290  968.  1250  1907   6400
library(plotly)
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
p <- ggplot(data, aes(x = length_km, y = average_discharge, color = continent)) +
  geom_point() +
  labs(title = "Longitud vs. Descarga Media", x = "Longitud (km)", y = "Descarga Media (m³/s)") +
  theme_minimal()

ggplotly(p)
library(dplyr)
library(ggplot2)
library(plotly)

# Calcular el IQR y los límites para identificar valores atípicos
iqr_length <- IQR(data$length_km, na.rm = TRUE)
iqr_discharge <- IQR(data$average_discharge, na.rm = TRUE)

lower_bound_length <- quantile(data$length_km, 0.25, na.rm = TRUE) - 1.5 * iqr_length
upper_bound_length <- quantile(data$length_km, 0.75, na.rm = TRUE) + 1.5 * iqr_length

lower_bound_discharge <- quantile(data$average_discharge, 0.25, na.rm = TRUE) - 1.5 * iqr_discharge
upper_bound_discharge <- quantile(data$average_discharge, 0.75, na.rm = TRUE) + 1.5 * iqr_discharge

# Filtrar valores atípicos
outliers <- data %>%
  filter((length_km < lower_bound_length | length_km > upper_bound_length) |
         (average_discharge < lower_bound_discharge | average_discharge > upper_bound_discharge))

# Crear el gráfico con valores atípicos resaltados
p <- ggplot(data, aes(x = length_km, y = average_discharge, color = continent)) +
  geom_point() +
  geom_point(data = outliers, aes(x = length_km, y = average_discharge), color = "red", size = 3) +
  labs(title = "Longitud vs. Descarga Media (con Valores Atípicos)", x = "Longitud (km)", y = "Descarga Media (m³/s)") +
  theme_minimal()

# Convertir a gráfico interactivo
ggplotly(p)

##El código identifica y resalta valores atípicos en la relación entre la longitud de los ríos y su descarga media. Al calcular el IQR y establecer límites para detectar outliers, se observa que algunos ríos tienen características extremas en comparación con el resto. Estos valores atípicos, mostrados en rojo en el gráfico, permiten identificar ríos que son significativamente más largos o tienen una descarga media mucho mayor o menor de lo esperado. El gráfico interactivo facilita la exploración detallada de estas anomalías, destacando la variabilidad en las características de los ríos a nivel global.

library(dplyr)
library(ggplot2)

# Calcular la descarga media total por continente
total_discharge_by_continent <- data %>%
  group_by(continent) %>%
  summarise(total_discharge = sum(average_discharge, na.rm = TRUE))

# Mostrar la tabla con la descarga total por continente
print(total_discharge_by_continent)
## # A tibble: 6 × 2
##   continent     total_discharge
##   <chr>                   <dbl>
## 1 Africa                  92463
## 2 Asia                   323463
## 3 Europe                  28744
## 4 North America           90530
## 5 Oceania                 27274
## 6 South America          629660
# Crear un gráfico de barras para visualizar la descarga total por continente
ggplot(total_discharge_by_continent, aes(x = reorder(continent, total_discharge), y = total_discharge, fill = continent)) +
  geom_bar(stat = "identity") +
  labs(title = "Descarga Media Total por Continente",
       x = "Continente",
       y = "Descarga Media Total (m³/s)",
       fill = "Continente") +
  theme_minimal() +
  coord_flip()

##El grafico muestra la descarga media total de los ríos por continente. La tabla indica que Sudamérica tiene la mayor descarga total con 629,660 m³/s, seguida por Asia con 323,463 m³/s y Norteamérica con 90,530 m³/s. Los gráficos de barras revelan que Sudamérica lidera claramente en descarga total, mientras que Oceanía tiene la menor con 27,274 m³/s. El gráfico de barras, presentado con un formato horizontal para una mejor visualización, destaca la predominancia de Sudamérica en términos de descarga media total, reflejando su gran cantidad de ríos con alta descarga.

library(dplyr)
library(ggplot2)

# Definir el caudal total conocido
total_caudal_global <- 1192134

# Calcular el caudal total por continente
total_discharge_by_continent <- data %>%
  group_by(continent) %>%
  summarise(total_discharge = sum(average_discharge, na.rm = TRUE))

# Calcular el porcentaje del caudal total que representa cada continente
total_discharge_by_continent <- total_discharge_by_continent %>%
  mutate(percentage = (total_discharge / total_caudal_global) * 100)

# Mostrar la tabla con el caudal total y el porcentaje por continente
print(total_discharge_by_continent)
## # A tibble: 6 × 3
##   continent     total_discharge percentage
##   <chr>                   <dbl>      <dbl>
## 1 Africa                  92463       7.76
## 2 Asia                   323463      27.1 
## 3 Europe                  28744       2.41
## 4 North America           90530       7.59
## 5 Oceania                 27274       2.29
## 6 South America          629660      52.8
# Crear un gráfico de barras para visualizar el porcentaje del caudal total por continente
ggplot(total_discharge_by_continent, aes(x = reorder(continent, percentage), y = percentage, fill = continent)) +
  geom_bar(stat = "identity") +
  labs(title = "Porcentaje del Caudal Total por Continente",
       x = "Continente",
       y = "Porcentaje del Caudal Total (%)",
       fill = "Continente") +
  theme_minimal() +
  coord_flip()

# Definir el caudal total conocido
total_caudal_global <- 1192134

# Calcular el caudal total por continente
total_discharge_by_continent <- data %>%
  group_by(continent) %>%
  summarise(total_discharge = sum(average_discharge, na.rm = TRUE))

# Calcular el porcentaje del caudal total que representa cada continente
total_discharge_by_continent <- total_discharge_by_continent %>%
  mutate(percentage = (total_discharge / total_caudal_global) * 100)

# Mostrar la tabla con el caudal total y el porcentaje por continente
print(total_discharge_by_continent)
## # A tibble: 6 × 3
##   continent     total_discharge percentage
##   <chr>                   <dbl>      <dbl>
## 1 Africa                  92463       7.76
## 2 Asia                   323463      27.1 
## 3 Europe                  28744       2.41
## 4 North America           90530       7.59
## 5 Oceania                 27274       2.29
## 6 South America          629660      52.8

##a distribución porcentual del caudal total de los ríos por continente. Sudamérica destaca con el mayor porcentaje, representando el 52.8% del caudal global conocido de 1,192,134 m³/s, seguido por Asia con el 27.1% y África con el 7.76%. Los continentes como Europa, Oceanía y Norteamérica tienen porcentajes más bajos, con 2.41%, 2.29% y 7.59% respectivamente. El gráfico de barras, presentado horizontalmente para mejor claridad, resalta que Sudamérica es el continente con mayor contribución al caudal global, mientras que Europa y Oceanía tienen las menores proporciones