##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