Mariana Franco, Danier Conde, Samuel Bermúdez, Miguel Lugo & Héctor San Juan
INTRODUCCIÓN
La base de datos “Precipitaciones Totales Mensuales” proporcionada por la Corporación Autónoma Regional de Cundinamarca (CAR) recopila información sobre el volumen de precipitaciones mensuales obtenidas en la red de estaciones hidrológicas de la CAR. Este conjunto de datos es crucial para el monitoreo y análisis de patrones climáticos y su impacto en la región de Cundinamarca.
Detalles del Conjunto de Datos
Organización Proveedora: Corporación Autónoma Regional de Cundinamarca (CAR)
Sector: Ambiente y Desarrollo Sostenible
Cobertura Geográfica: Departamental (Bogotá D.C.)
Frecuencia de Actualización: Anual
Periodo de Datos: Desde noviembre de 2016 hasta mayo de 2020
Licencia: Creative Commons Attribution | Share Alike 4.0 International
Idiomas: Español
Estructura de los Datos
El conjunto de datos incluye las siguientes columnas:
ESTACIÓN: Nombre de la estación.
CÓDIGO: Código CAR de la estación.
X=N: Coordenadas planas de la estación, con origen en Bogotá.
Y=E: Coordenadas planas de la estación, con origen en Bogotá.
MUNICIPIO: Municipio de ubicación de la estación.
CUENCA: Cuenca de ubicación de la estación.
AÑO: Año correspondiente a la información.
ENERO a DICIEMBRE: Medidas de precipitación mensual en mm.
¿Qué objetivo plantearías para el estudio o el interés del investigador?
Objetivo Planteado: El objetivo principal del estudio podría ser analizar las precipitaciones mensuales en la región de Cundinamarca para identificar patrones temporales, estacionales y espaciales. Esto incluye:
Evaluar las tendencias de precipitaciones a lo largo del tiempo.
Identificar las estaciones con las mayores y menores precipitaciones.
Estudiar la variabilidad espacial de las precipitaciones en diferentes municipios y cuencas.
¿Qué variables se involucran en el estudio y de qué tipo son? Cuadro de operacionalización de variables
Attaching package: 'kableExtra'
The following object is masked from 'package:dplyr':
group_rows
Cuadro de Operacionalización de Variables
Variable
Tipo
Definición
estacion
Categórica
Nombre de la estación
codigo
Categórica
Código CAR de la estación
x_n
Categórica
Coordenada Este en metros desde el origen
y_e
Categórica
Coordenada Norte en metros desde el origen
municipio
Categórica
Municipio en el que se encuentra la estación
cuenca
Categórica
Cuenca en la que se encuentra la estación
ano
Categórica
Año de las observaciones
enero
Numérica
Precipitación en enero (mm)
febrero
Numérica
Precipitación en febrero (mm)
marzo
Numérica
Precipitación en marzo (mm)
abril
Numérica
Precipitación en abril (mm)
mayo
Numérica
Precipitación en mayo (mm)
junio
Numérica
Precipitación en junio (mm)
julio
Numérica
Precipitación en julio (mm)
agosto
Numérica
Precipitación en agosto (mm)
septiembre
Numérica
Precipitación en septiembre (mm)
octubre
Numérica
Precipitación en octubre (mm)
noviembre
Numérica
Precipitación en noviembre (mm)
diciembre
Numérica
Precipitación en diciembre (mm)
Realice un descriptivo de los datos, incluya gráficos y resúmenes numéricos.
str(data_limpios)
tibble [6,196 × 19] (S3: tbl_df/tbl/data.frame)
$ estacion : chr [1:6196] "Pajas Blancas" "Pajas Blancas" "Pajas Blancas" "Pajas Blancas" ...
$ codigo : chr [1:6196] "2119022" "2119022" "2119022" "2119022" ...
$ x_n : chr [1:6196] "2119022" "2119022" "2119022" "2119022" ...
$ y_e : chr [1:6196] "2119022" "2119022" "2119022" "2119022" ...
$ municipio : chr [1:6196] "Nilo" "Nilo" "Nilo" "Nilo" ...
$ cuenca : chr [1:6196] "R. Paguey" "R. Paguey" "R. Paguey" "R. Paguey" ...
$ ano : chr [1:6196] "2119022" "2119022" "2119022" "2119022" ...
$ enero : num [1:6196] 0 295.9 294.2 144.3 78.3 ...
$ febrero : num [1:6196] 0 127.2 76.9 118 256.6 ...
$ marzo : num [1:6196] 0 248 160 209 83 ...
$ abril : num [1:6196] 0 149 296 438 339 ...
$ mayo : num [1:6196] 0 0 144 293 108 ...
$ junio : num [1:6196] 0 0 134.3 30.6 236.2 ...
$ julio : num [1:6196] 0 0 20.1 35.2 17.6 37.5 21.6 51.2 37.6 59 ...
$ agosto : num [1:6196] 0 0 3.6 30.7 23.7 74.8 38.3 6.8 33.1 16.5 ...
$ septiembre: num [1:6196] 31.5 0 75.3 103.2 322.9 ...
$ octubre : num [1:6196] 190 0 174 386 338 ...
$ noviembre : num [1:6196] 154 0 182 105 234 ...
$ diciembre : num [1:6196] 76.2 115.2 110.1 235.7 199.5 ...
summary(data_limpios)
estacion codigo x_n y_e
Length:6196 Length:6196 Length:6196 Length:6196
Class :character Class :character Class :character Class :character
Mode :character Mode :character Mode :character Mode :character
municipio cuenca ano enero
Length:6196 Length:6196 Length:6196 Min. : 0.00
Class :character Class :character Class :character 1st Qu.: 8.60
Mode :character Mode :character Mode :character Median : 26.00
Mean : 38.42
3rd Qu.: 53.40
Max. :454.80
febrero marzo abril mayo
Min. : 0.00 Min. : 0.00 Min. : 0.00 Min. : 0.0
1st Qu.: 19.20 1st Qu.: 37.80 1st Qu.: 59.33 1st Qu.: 53.5
Median : 40.50 Median : 71.40 Median : 98.75 Median : 90.2
Mean : 52.27 Mean : 83.43 Mean :115.19 Mean :100.4
3rd Qu.: 71.00 3rd Qu.:113.40 3rd Qu.:154.50 3rd Qu.:134.6
Max. :492.30 Max. :670.70 Max. :828.50 Max. :823.5
NA's :2 NA's :2
junio julio agosto septiembre
Min. : 0.00 Min. : 0.00 Min. : 0.00 Min. : 0.00
1st Qu.: 29.70 1st Qu.: 22.98 1st Qu.: 22.20 1st Qu.: 28.10
Median : 55.50 Median : 44.15 Median : 42.15 Median : 52.00
Mean : 64.87 Mean : 55.39 Mean : 51.70 Mean : 61.80
3rd Qu.: 88.00 3rd Qu.: 72.70 3rd Qu.: 69.50 3rd Qu.: 83.72
Max. :791.00 Max. :550.00 Max. :500.50 Max. :498.60
NA's :1
octubre noviembre diciembre
Min. : 0.0 Min. : 0.0 Min. : 0.00
1st Qu.: 58.5 1st Qu.: 52.9 1st Qu.: 18.20
Median :102.0 Median : 91.5 Median : 44.10
Mean :113.5 Mean :105.3 Mean : 57.12
3rd Qu.:153.2 3rd Qu.:140.5 3rd Qu.: 80.60
Max. :675.2 Max. :767.0 Max. :532.30
#tratamiento de los NAmissmap(data_limpios, main="Mapa de Datos Faltantes")
Warning: Unknown or uninitialised column: `arguments`.
Unknown or uninitialised column: `arguments`.
Warning: Unknown or uninitialised column: `imputations`.
#se puede observar que no hay datos faltantes asi que seguimos libremente con el analisis.
Inspeccione un histograma y/o un diagrama de caja y bigotes con los datos de tipo numérico. A partir desu inspección, ¿cómo podría definir esta distribución, con asimetría positiva, con asimetría negativa o simétrica? ¿Se ajustan estos datos a una distribución normal?
Teniendo en cuenta la visualizacion de histograma y diagrama de cajas y bigotes para el primer trimestre los datos son asimetricos, con asimetria positiva debido a que hay valores extremos grandes mayores a la media. Al tener asimetría los datos se dice que no se presenta una distribucion normal en los datos.
Seleccione dos o más grupos de interés ¿Existen diferencias estadísticamente significativas entre los valores medios de los grupos involucrados?
# Test de Kruskal-Wallis no parametrico para datos que no son normales y compara mas de dos grupos.kruskal_test <-kruskal.test(enero ~ estacion, data = data_limpios)print(kruskal_test)
Kruskal-Wallis rank sum test
data: enero by estacion
Kruskal-Wallis chi-squared = 1139.9, df = 173, p-value < 2.2e-16
Dado que el p-valor es mucho menor que 0.05, se rechaza la hipótesis nula de que las medianas de las precipitaciones en enero son iguales para todas las estaciones. Esto sugiere que hay diferencias significativas en las precipitaciones entre las estaciones.
No se realiza comparación directa de los valores medios sino de la mediana debido a que los datos no son normales y la mediana es mas robusta en estos casos. En el caso de querer saber cuales son los grupo especificos que difieren se realizaría prueba post-hoc.
¿Qué otras comparaciones o inferencias resultarían interesantes en este análisis?
Una comparación adicional que se puede realizar a partir de este conjunto de datos es el análisis de las distribuciones que poseen sus registros. Una hipótesis común para verificar es, si los registros cuentan con una distribución normal. Para eso se aplica la prueba Kolmogorov-Smirnov, que arroja un p-valor indicando la tendencia de la distribución o distribuciones a evaluar. Primero se realizará la prueba indagando si la distribución de los datos en la columna “ENERO” es una distribución normal; para esto se compara la distribución de la muestra tomada con una distribución teórica “pnorm”, que es la distribución normal. Sin embargo, el ks.test() asume que no hay empates en el conjunto de datos a evaluar, por lo cual se procede a eliminar los empates.
# Aplicar el test de Kolmogorov-Smirnov en los datos originales de ENEROnorm_enero <-ks.test(data_limpios$enero, "pnorm", mean=mean(data_limpios$enero, na.rm =TRUE), sd=sd(data_limpios$enero, na.rm =TRUE))
Warning in ks.test.default(data_limpios$enero, "pnorm", mean =
mean(data_limpios$enero, : ties should not be present for the one-sample
Kolmogorov-Smirnov test
#Eliminar los empatesdata_sin_empates_enero <- data_limpios$enero[!duplicated(data_limpios$enero)]# Se comparan las medidas centrales de la muestra antes y despues de eliminar los empatessummary(data_limpios$enero)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.00 8.60 26.00 38.42 53.40 454.80
summary(data_sin_empates_enero)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.00 32.27 65.45 78.30 108.45 454.80
#Aplicar el test ks.test nuevamenteks.test(data_sin_empates_enero, "pnorm", mean=mean(data_sin_empates_enero, na.rm=TRUE), sd=sd(data_sin_empates_enero, na.rm=TRUE))
Asymptotic one-sample Kolmogorov-Smirnov test
data: data_sin_empates_enero
D = 0.10347, p-value = 1.939e-12
alternative hypothesis: two-sided
Como el p-valor arrojado por la prueba luego de eliminar los empates es menor a 0.05, se puede rechazar la hipótesis nula, y se afirma que el conjunto de los datos recogidos para el mes de enero no cuenta con una distribución normal. Análogamente se realiza el mismo proceso para los datos recogidos en marzo:
#Aplicar el test de Kolmogorov-Smirnov en los datos originales de MARZOnorm <-ks.test(data_limpios$marzo, "pnorm", mean=mean(data_limpios$marzo, na.rm =TRUE), sd=sd(data_limpios$marzo, na.rm =TRUE))
Warning in ks.test.default(data_limpios$marzo, "pnorm", mean =
mean(data_limpios$marzo, : ties should not be present for the one-sample
Kolmogorov-Smirnov test
# Eliminar los empatesdata_sin_empates <- data_limpios$marzo[!duplicated(data_limpios$marzo)]#Se comparan las medidas centrales de la muestra antes y despues de eliminar los empatessummary(data_limpios$marzo)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
0.00 37.80 71.40 83.43 113.40 670.70 2
summary(data_sin_empates)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
0.00 51.95 101.00 115.85 160.15 670.70 1
# Aplicar el ks.test nuevamenteks.test(data_sin_empates, "pnorm", mean=mean(data_sin_empates, na.rm=TRUE), sd=sd(data_sin_empates, na.rm=TRUE))
Asymptotic one-sample Kolmogorov-Smirnov test
data: data_sin_empates
D = 0.086453, p-value = 1.124e-12
alternative hypothesis: two-sided
Otra comparación útil con el ks.test(), es validar si dos conjuntos de datos provienen de la misma distribución. Para eso se eliminan los empates de las muestras recogidas y se aplica el ks.test() tomando ambas distribuciones:
#se eliminan los empates de las columnas a comparardata_sin_empates_enero <- data_limpios$enero[!duplicated(data_limpios$enero)]data_sin_empates_marzo <- data_limpios$marzo[!duplicated(data_limpios$marzo)]#se aplica ks.test comparando ambas distribuciones dist_enero_marzo <-ks.test(data_sin_empates_marzo, data_sin_empates_enero)
Warning in ks.test.default(data_sin_empates_marzo, data_sin_empates_enero):
p-value will be approximate in the presence of ties
print(dist_enero_marzo)
Asymptotic two-sample Kolmogorov-Smirnov test
data: data_sin_empates_marzo and data_sin_empates_enero
D = 0.21553, p-value < 2.2e-16
alternative hypothesis: two-sided
Como el p-valor arrojado por la prueba es menor a 0.05, se rechaza la hipótesis nula, y se afirma que los datos no cuentan con la misma distribución. Esto es útil para inferir que no existe un patrón estacional en las precipitaciones de enero y marzo, dado a que sus distribuciones en las muestras recogidas no concuerdan.