datos <- read.csv("PrecipitacionTemperaturaPromedio.csv")
Los datos corresponden a la suma de los promedios mensuales de precipitación y al promedio de temperatura media de 30 años, considerado por la Organización Meteorologica Mundial (OMM) como el numero de años para establecer una media climatológica, en este caso 1981-2010.
Datos consultados el 5 de Diciembre de 2017; disponibles en la página web DATOS ABIERTOS GOBIERNO DIGITAL COLOMBIA:
La estructura completa de los datos tiene 450 observaciones y 41 variables .Una exploración de los datos, arroja información sobre la clase de las variables y la estructura general de los datos, para tomar decisiones acecar del análisis que se hará. Para el siguiente caso , se observa que las variables en las que se encuentran contenidas los datos de las precipitaciones y de las temperaturas son de clase numeric, y por otra parte las variables para los municipios y departamentos son de clase factor.
str(datos)
## 'data.frame': 450 obs. of 41 variables:
## $ codigo : int 22075030 27015150 21206260 35095030 28035010 13055030 25025090 16025060 54025010 21206300 ...
## $ nombre : Factor w/ 441 levels "Abrego Centro Admo",..: 316 295 143 396 430 164 39 161 343 148 ...
## $ categoria : Factor w/ 5 levels "AM","CO","CP",..: 2 2 2 2 2 2 4 2 2 3 ...
## $ departamento : Factor w/ 32 levels "Amazonas","Antioquia",..: 30 2 5 7 12 14 20 23 13 5 ...
## $ municipio : Factor w/ 342 levels "Abrego","Agrado",..: 237 31 40 91 322 171 97 241 259 40 ...
## $ corriente : Factor w/ 326 levels "Agua Miel","ALGDONAL",..: 164 169 43 147 104 278 162 261 140 312 ...
## $ lag : int 4 6 4 5 10 8 9 7 4 4 ...
## $ lam : int 12 24 47 34 11 39 2 46 53 30 ...
## $ las : num 5.8 50 55.1 19.6 34 33 46.8 0 54.5 0 ...
## $ lac : Factor w/ 2 levels "N","S": 1 1 1 1 1 1 1 1 1 1 ...
## $ log : int 75 75 74 72 73 75 73 72 76 74 ...
## $ lom : int 17 23 2 56 32 58 58 48 13 10 ...
## $ los : num 4.1 48 59 38.2 50 21 15 0 55 0 ...
## $ loc : Factor w/ 1 level "W": 1 1 1 1 1 1 1 1 1 1 ...
## $ altitud : int 2020 1500 2570 3000 70 30 34 1000 1115 2700 ...
## $ enepreci30a : num 97.2 57.5 33.3 17.1 18 ...
## $ febpreci30a : num 125.1 80.1 51.3 30.4 10.2 ...
## $ marpreci30a : num 165.7 113.2 73.3 57.2 69.3 ...
## $ abrpreci30a : num 215.1 188.6 83.7 95.7 137.3 ...
## $ maypreci30a : num 213.2 246.8 96.9 87.8 167 ...
## $ junpreci30a : num 146.9 199.1 58 70.1 137.3 ...
## $ julpreci30a : num 115.6 207.6 54.1 77.9 105.5 ...
## $ agopreci30a : num 107.1 202.3 48.3 58.8 154.9 ...
## $ seppreci30a : num 151.9 234.2 53.1 62.5 183.8 ...
## $ octpreci30a : num 185.7 235.4 101 87.2 193.1 ...
## $ novpreci30a : num 179.6 155 95.3 81.4 132.4 ...
## $ dicpreci30a : num 125.1 83.3 53.9 23.9 38.2 ...
## $ totalpreci30a: num 1822 2003 769 750 1344 ...
## $ enetemp30a : num 16.7 21.9 13.8 11.6 29.4 27 28.5 21.1 20.6 10.5 ...
## $ febtemp30a : num 16.9 22.2 13.9 11.7 30.2 27.2 28.9 21.4 20.8 10.2 ...
## $ martemp30a : num 17 22.3 14 11.8 30.3 27.5 29.3 21.8 21 10.1 ...
## $ abrtemp30a : num 17.2 22.1 14 11.8 29.6 27.6 28.9 22.3 21.2 10.1 ...
## $ maytemp30a : num 17.2 22.1 14.1 11.8 29 27.4 28.5 22.6 21.3 9.5 ...
## $ juntemp30a : num 17 22.2 14 11.4 28.8 27.5 28.5 22.5 21.2 9.7 ...
## $ jultemp30a : num 16.8 22.1 13.8 10.9 29.2 27.4 28.6 22.3 21.1 7.5 ...
## $ agotemp30a : num 17.1 22.2 13.8 10.9 29 27.4 28.7 22.7 21.1 9.7 ...
## $ septemp30a : num 17.2 22 13.7 11.2 28 27.1 28.1 22.7 20.8 9.9 ...
## $ octtemp30a : num 17 21.7 13.8 11.4 27.7 27 27.9 22.1 20.6 9.9 ...
## $ novtemp30a : num 16.8 21.7 13.8 11.6 27.8 27 27.9 21.8 20.6 9.1 ...
## $ dictemp30a : num 16.8 21.7 13.9 11.8 28.3 27 28.1 21.1 20.6 8.8 ...
## $ protemp30a : num 17 22 13.9 11.5 28.9 27.2 28.5 22 20.9 9.3 ...
dim(datos)
## [1] 450 41
head(datos)
## codigo nombre categoria departamento municipio corriente
## 1 22075030 Riomanso CO Tolima Rovira Manso
## 2 27015150 Progreso El Hda CO Antioquia Barbosa Medellin
## 3 21206260 C.Univ.Agrop-Udca CO Bogota DC Bogota DC BOGOTA
## 4 35095030 Tunel El CO Boyaca Cuitiva Lag de Tota
## 5 28035010 Villa Rosa CO Cesar Valledupar Diluvio
## 6 13055030 Galan CO Cordoba Monteria Sinu
## lag lam las lac log lom los loc altitud enepreci30a febpreci30a
## 1 4 12 5.8 N 75 17 4.1 W 2020 97.2 125.1
## 2 6 24 50.0 N 75 23 48.0 W 1500 57.5 80.1
## 3 4 47 55.1 N 74 2 59.0 W 2570 33.3 51.3
## 4 5 34 19.6 N 72 56 38.2 W 3000 17.1 30.4
## 5 10 11 34.0 N 73 32 50.0 W 70 18.0 10.2
## 6 8 39 33.0 N 75 58 21.0 W 30 18.0 14.5
## marpreci30a abrpreci30a maypreci30a junpreci30a julpreci30a agopreci30a
## 1 165.7 215.1 213.2 146.9 115.6 107.1
## 2 113.2 188.6 246.8 199.1 207.6 202.3
## 3 73.3 83.7 96.9 58.0 54.1 48.3
## 4 57.2 95.7 87.8 70.1 77.9 58.8
## 5 69.3 137.3 167.0 137.3 105.5 154.9
## 6 37.8 101.7 174.6 153.3 154.8 173.8
## seppreci30a octpreci30a novpreci30a dicpreci30a totalpreci30a enetemp30a
## 1 151.9 185.7 179.6 125.1 1822.2 16.7
## 2 234.2 235.4 155.0 83.3 2003.0 21.9
## 3 53.1 101.0 95.3 53.9 768.9 13.8
## 4 62.5 87.2 81.4 23.9 749.9 11.6
## 5 183.8 193.1 132.4 38.2 1344.1 29.4
## 6 169.8 140.5 91.6 32.4 1225.3 27.0
## febtemp30a martemp30a abrtemp30a maytemp30a juntemp30a jultemp30a
## 1 16.9 17.0 17.2 17.2 17.0 16.8
## 2 22.2 22.3 22.1 22.1 22.2 22.1
## 3 13.9 14.0 14.0 14.1 14.0 13.8
## 4 11.7 11.8 11.8 11.8 11.4 10.9
## 5 30.2 30.3 29.6 29.0 28.8 29.2
## 6 27.2 27.5 27.6 27.4 27.5 27.4
## agotemp30a septemp30a octtemp30a novtemp30a dictemp30a protemp30a
## 1 17.1 17.2 17.0 16.8 16.8 17.0
## 2 22.2 22.0 21.7 21.7 21.7 22.0
## 3 13.8 13.7 13.8 13.8 13.9 13.9
## 4 10.9 11.2 11.4 11.6 11.8 11.5
## 5 29.0 28.0 27.7 27.8 28.3 28.9
## 6 27.4 27.1 27.0 27.0 27.0 27.2
Se creará una objeto que contenga la información sólo de las precipitaciones para analizar mes a mes el comportamiento de las mismas y en los diferentes de partamentos y regiones del país.
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
library(tidyr)
datosPrecipitaciones <- datos %>% select(departamento, municipio, enepreci30a, febpreci30a, marpreci30a, abrpreci30a, maypreci30a, junpreci30a, julpreci30a, agopreci30a, seppreci30a, octpreci30a, novpreci30a, dicpreci30a)
names(datosPrecipitaciones) <- c("Departamento","Municipio", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio" , "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")
str(datosPrecipitaciones)
## 'data.frame': 450 obs. of 14 variables:
## $ Departamento: Factor w/ 32 levels "Amazonas","Antioquia",..: 30 2 5 7 12 14 20 23 13 5 ...
## $ Municipio : Factor w/ 342 levels "Abrego","Agrado",..: 237 31 40 91 322 171 97 241 259 40 ...
## $ Enero : num 97.2 57.5 33.3 17.1 18 ...
## $ Febrero : num 125.1 80.1 51.3 30.4 10.2 ...
## $ Marzo : num 165.7 113.2 73.3 57.2 69.3 ...
## $ Abril : num 215.1 188.6 83.7 95.7 137.3 ...
## $ Mayo : num 213.2 246.8 96.9 87.8 167 ...
## $ Junio : num 146.9 199.1 58 70.1 137.3 ...
## $ Julio : num 115.6 207.6 54.1 77.9 105.5 ...
## $ Agosto : num 107.1 202.3 48.3 58.8 154.9 ...
## $ Septiembre : num 151.9 234.2 53.1 62.5 183.8 ...
## $ Octubre : num 185.7 235.4 101 87.2 193.1 ...
## $ Noviembre : num 179.6 155 95.3 81.4 132.4 ...
## $ Diciembre : num 125.1 83.3 53.9 23.9 38.2 ...
head(datosPrecipitaciones)
## Departamento Municipio Enero Febrero Marzo Abril Mayo Junio Julio
## 1 Tolima Rovira 97.2 125.1 165.7 215.1 213.2 146.9 115.6
## 2 Antioquia Barbosa 57.5 80.1 113.2 188.6 246.8 199.1 207.6
## 3 Bogota DC Bogota DC 33.3 51.3 73.3 83.7 96.9 58.0 54.1
## 4 Boyaca Cuitiva 17.1 30.4 57.2 95.7 87.8 70.1 77.9
## 5 Cesar Valledupar 18.0 10.2 69.3 137.3 167.0 137.3 105.5
## 6 Cordoba Monteria 18.0 14.5 37.8 101.7 174.6 153.3 154.8
## Agosto Septiembre Octubre Noviembre Diciembre
## 1 107.1 151.9 185.7 179.6 125.1
## 2 202.3 234.2 235.4 155.0 83.3
## 3 48.3 53.1 101.0 95.3 53.9
## 4 58.8 62.5 87.2 81.4 23.9
## 5 154.9 183.8 193.1 132.4 38.2
## 6 173.8 169.8 140.5 91.6 32.4
summary(datosPrecipitaciones[ ,c(3:14)])
## Enero Febrero Marzo Abril
## Min. : 0.80 Min. : 0.50 Min. : 1.20 Min. : 6.9
## 1st Qu.: 28.15 1st Qu.: 43.08 1st Qu.: 73.92 1st Qu.:120.3
## Median : 63.00 Median : 81.80 Median :121.85 Median :175.0
## Mean : 88.46 Mean : 98.53 Mean :137.81 Mean :205.1
## 3rd Qu.:103.50 3rd Qu.:124.05 3rd Qu.:175.93 3rd Qu.:267.2
## Max. :618.60 Max. :574.60 Max. :606.90 Max. :818.8
## Mayo Junio Julio Agosto
## Min. : 27.3 Min. : 8.20 Min. : 6.5 Min. : 17.60
## 1st Qu.:129.0 1st Qu.: 72.92 1st Qu.: 55.7 1st Qu.: 56.98
## Median :184.6 Median :130.85 Median :115.8 Median :128.10
## Mean :229.9 Mean :181.50 Mean :164.7 Mean :164.08
## 3rd Qu.:301.5 3rd Qu.:242.15 3rd Qu.:224.0 3rd Qu.:224.55
## Max. :853.7 Max. :852.90 Max. :804.6 Max. :865.80
## Septiembre Octubre Noviembre Diciembre
## Min. : 35.70 Min. : 65.7 Min. : 53.5 Min. : 15.2
## 1st Qu.: 94.17 1st Qu.:147.2 1st Qu.:118.8 1st Qu.: 55.5
## Median :163.60 Median :202.8 Median :171.8 Median : 99.3
## Mean :190.04 Mean :232.3 Mean :200.4 Mean :128.6
## 3rd Qu.:240.80 3rd Qu.:284.0 3rd Qu.:243.3 3rd Qu.:155.3
## Max. :911.30 Max. :881.5 Max. :836.4 Max. :810.3
Para un manejo de más eficiente de la información, se hará un cambio en la estrucutura del objeto anteriomente creado; cambiando de un formato ancho ,el cual contiene 14 variables (columnas) y 450 observaciones (filas), a un formato largo el cual contiene 5400 observaciones y 4 variables.
library(dplyr)
library(tidyr)
PrecLargo <- datosPrecipitaciones %>%
gather(key = Mes,
value = Precipitación,
-c(Departamento:Municipio))
str(PrecLargo)
## 'data.frame': 5400 obs. of 4 variables:
## $ Departamento : Factor w/ 32 levels "Amazonas","Antioquia",..: 30 2 5 7 12 14 20 23 13 5 ...
## $ Municipio : Factor w/ 342 levels "Abrego","Agrado",..: 237 31 40 91 322 171 97 241 259 40 ...
## $ Mes : chr "Enero" "Enero" "Enero" "Enero" ...
## $ Precipitación: num 97.2 57.5 33.3 17.1 18 ...
head(PrecLargo)
## Departamento Municipio Mes Precipitación
## 1 Tolima Rovira Enero 97.2
## 2 Antioquia Barbosa Enero 57.5
## 3 Bogota DC Bogota DC Enero 33.3
## 4 Boyaca Cuitiva Enero 17.1
## 5 Cesar Valledupar Enero 18.0
## 6 Cordoba Monteria Enero 18.0
tail(PrecLargo)
## Departamento Municipio Mes Precipitación
## 5395 Antioquia Remedios Diciembre 132.7
## 5396 Cundinamarca Bojaca Diciembre 70.9
## 5397 Cundinamarca Yacopi Diciembre 156.7
## 5398 Tolima Prado Diciembre 207.3
## 5399 Tolima Chaparral Diciembre 280.7
## 5400 Narino San Andres de Tumaco Diciembre 206.1
Se obtiene la sumatoria de las precipitaciones filtrando por el mes, de ésta manera se obtiene el total de precipitaciones que se presentaron en cada mes durante los 30 años.
PrecLargoEnero <- PrecLargo %>%
filter(Mes == "Enero")
SumEnero <- sum(PrecLargoEnero$Precipitación)
PrecLargoFebrero <- PrecLargo %>%
filter(Mes == "Febrero")
SumFebrero <- sum(PrecLargoFebrero$Precipitación)
PrecLargoMarzo <- PrecLargo %>%
filter(Mes == "Marzo")
SumMarzo <- sum(PrecLargoMarzo$Precipitación)
PrecLargoAbril <- PrecLargo %>%
filter(Mes == "Abril")
SumAbril <- sum(PrecLargoAbril$Precipitación)
PrecLargoMayo <- PrecLargo %>%
filter(Mes == "Mayo")
SumMayo <- sum(PrecLargoMayo$Precipitación)
PrecLargoJunio <- PrecLargo %>%
filter(Mes == "Junio")
SumJunio <- sum(PrecLargoJunio$Precipitación)
PrecLargoJulio <- PrecLargo %>%
filter(Mes == "Julio")
SumJulio <- sum(PrecLargoJulio$Precipitación)
PrecLargoAgosto <- PrecLargo %>%
filter(Mes == "Agosto")
SumAgosto <- sum(PrecLargoAgosto$Precipitación)
PrecLargoSeptiembre <- PrecLargo %>%
filter(Mes == "Septiembre")
SumSeptiembre <- sum(PrecLargoSeptiembre$Precipitación)
PrecLargoOctubre <- PrecLargo %>%
filter(Mes == "Octubre")
SumOctubre <- sum(PrecLargoOctubre$Precipitación)
PrecLargoNoviembre <- PrecLargo %>%
filter(Mes == "Noviembre")
SumNoviembre <- sum(PrecLargoNoviembre$Precipitación)
PrecLargoDiciembre <- PrecLargo %>%
filter(Mes == "Diciembre")
SumDiciembre <- sum(PrecLargoDiciembre$Precipitación)
Sumas <- c(SumEnero, SumFebrero, SumMarzo, SumAbril, SumMayo, SumJunio, SumJulio, SumAgosto, SumSeptiembre, SumOctubre, SumNoviembre, SumDiciembre)
Meses <- c("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")
PrecipTotales <- data.frame(Mes = Meses, Precipitaciones = Sumas)
Crear una tabla dinámica facilita la búsqueda de las observaciones ya sea por orden alfabético, ó , por orden ascendente o descendente de los valores. el gráfico de barras es una ayuda visual para observar el comportamiento de las precipitaciones, el uso de la función barplot como herramienta gŕafica permite generar un gráfico que permite una lectura e interpretación sencilla para el análisis.
library(DT)
datatable(PrecipTotales) %>%
formatStyle(columns = c(1,2), 'text-align' = "center")
barplot(PrecipTotales$Precipitaciones, main="Precipitaciones totales por mes", xlab="Mes", ylab="Precipitaciones", names.arg=c("Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"), border="green", density = 150 , col = "blue", ylim = c(0 , 120000))
Se obtiene las precipitaciones totales por departamento para observar la región con mayor precipitaciones a lo largo de los 30 años. Haciendo uso, nuevamente de la función filter, se filtra la información por departamento para hacer un análisis de las precipitaciones en cada uno de los 32 departamentos.
PrecLargoAtlan <- PrecLargo %>%
filter(Departamento == "Atlantico")
SumAtlan <- sum(PrecLargoAtlan$Precipitación)
PrecLargoBoli <- PrecLargo %>%
filter(Departamento == "Bolivar")
SumBoli <- sum(PrecLargoBoli$Precipitación)
PrecLargoCesar <- PrecLargo %>%
filter(Departamento == "Cesar")
SumCesar <- sum(PrecLargoCesar$Precipitación)
PrecLargoCord <- PrecLargo %>%
filter(Departamento == "Cordoba")
SumCord <- sum(PrecLargoCord$Precipitación)
PrecLargoGuaj <- PrecLargo %>%
filter(Departamento == "La Guajira")
SumGuaj <- sum(PrecLargoGuaj$Precipitación)
PrecLargoMagd <- PrecLargo %>%
filter(Departamento == "Magdalena")
SumMagd <- sum(PrecLargoMagd$Precipitación)
PrecLargoSanAnd <- PrecLargo %>%
filter(Departamento == "San Andres Providencia y Sta C
")
SumSanAnd <- sum(PrecLargoSanAnd$Precipitación)
PrecLargoSucre <- PrecLargo %>%
filter(Departamento == "Sucre")
SumSucre <- sum(PrecLargoSucre$Precipitación)
PrecLargoCau <- PrecLargo %>%
filter(Departamento == "Cauca")
SumCau <- sum(PrecLargoCau$Precipitación)
PrecLargoChoco <- PrecLargo %>%
filter(Departamento == "Choco")
SumChoco <- sum(PrecLargoChoco$Precipitación)
PrecLargoNari <- PrecLargo %>%
filter(Departamento == "Narino")
SumNari <- sum(PrecLargoNari$Precipitación)
PrecLargoValle <- PrecLargo %>%
filter(Departamento == "Valle del Cauca")
SumValle <- sum(PrecLargoValle$Precipitación)
PrecLargoAnt <- PrecLargo %>%
filter(Departamento == "Antioquia")
SumAnt <- sum(PrecLargoAnt$Precipitación)
PrecLargoBoya <- PrecLargo %>%
filter(Departamento == "Boyaca")
SumBoya <- sum(PrecLargoBoya$Precipitación)
PrecLargoCaldas <- PrecLargo %>%
filter(Departamento == "Caldas")
SumCaldas <- sum(PrecLargoCaldas$Precipitación)
PrecLargoCund <- PrecLargo %>%
filter(Departamento == "Cundinamarca")
SumCund <- sum(PrecLargoCund$Precipitación)
PrecLargoHuila <- PrecLargo %>%
filter(Departamento == "Huila")
SumHuila <- sum(PrecLargoHuila$Precipitación)
PrecLargoNorS <- PrecLargo %>%
filter(Departamento == "Norte de Santander")
SumNorS <- sum(PrecLargoNorS$Precipitación)
PrecLargoQuin <- PrecLargo %>%
filter(Departamento == "Quindio")
SumQuin <- sum(PrecLargoQuin$Precipitación)
PrecLargoRisa <- PrecLargo %>%
filter(Departamento == "Risaralda")
SumRisa <- sum(PrecLargoRisa$Precipitación)
PrecLargoSant <- PrecLargo %>%
filter(Departamento == "Santander")
SumSant <- sum(PrecLargoSant$Precipitación)
PrecLargoTol <- PrecLargo %>%
filter(Departamento == "Tolima")
SumTol <- sum(PrecLargoTol$Precipitación)
PrecLargoBog <- PrecLargo %>%
filter(Departamento == "Bogota DC")
SumBog <- sum(PrecLargoBog$Precipitación)
PrecLargoAmaz <- PrecLargo %>%
filter(Departamento == "Amazonas")
SumAmaz <- sum(PrecLargoAmaz$Precipitación)
PrecLargoCaque <- PrecLargo %>%
filter(Departamento == "Caqueta")
SumCaque <- sum(PrecLargoCaque$Precipitación)
PrecLargoGua <- PrecLargo %>%
filter(Departamento == "Guainia")
SumGua <- sum(PrecLargoGua$Precipitación)
PrecLargoGuav <- PrecLargo %>%
filter(Departamento == "Guaviare")
SumGuav <- sum(PrecLargoGuav$Precipitación)
PrecLargoPutu <- PrecLargo %>%
filter(Departamento == "Putumayo")
SumPutu <- sum(PrecLargoPutu$Precipitación)
PrecLargoAra <- PrecLargo %>%
filter(Departamento == "Arauca")
SumAra <- sum(PrecLargoAra$Precipitación)
PrecLargoCasa <- PrecLargo %>%
filter(Departamento == "Casanare")
SumCasa <- sum(PrecLargoCasa$Precipitación)
PrecLargoMeta <- PrecLargo %>%
filter(Departamento == "Meta")
SumMeta <- sum(PrecLargoMeta$Precipitación)
PrecLargoVicha <- PrecLargo %>%
filter(Departamento == "Vichada")
SumVicha <- sum(PrecLargoVicha$Precipitación)
sumasD <- c(SumAtlan,SumBoli,SumCesar,SumCord,SumGua,SumMagd,SumSanAnd,SumSucre,SumCau,SumChoco,SumNari,SumValle,SumAnt,SumBoya,SumCaldas,SumCund,SumHuila,SumNorS,SumQuin,SumRisa,SumSant,SumTol,SumBog,SumAmaz,SumCaque,SumGua,SumGuav,SumPutu,SumAra,SumCasa,SumMeta,SumVicha)
Departamentos <- c("Atlantico", "Bolivar", "Cesar", "Cordoba", "La Guajira", "Magdalena", "San Andres Providencia y Sta.C", "Sucre", "Cauca", "Choco", "Nariño", "Valle del Cauca", "Antioquia", "Boyacá", "Caldas", "Cundinamarca", "Huila", "Norte de Santander", "Quindío", "Risaralda", "Santander", "Tolima", "Bogotá DC", "Amazonas", "Caquetá", "Guainía", "Guaviare", "Putumayo", "Arauca", "Casanare", "Meta", "Vichada")
PrecDepartamentos <- data.frame(Departamento = Departamentos, Precipitaciones = sumasD)
Al generar la tabla de las precipitaciones por departamento se evidencia de manera más clara la información y el análisis hecho por departamento, siendo útil para ubicar por ejemplo el departamento con mayor o menos precipitaciones en lo corrido de los 30 años. El gráfico, generado con la librería ggplot2, muestra las precipitaciones para cada departamento, representadas por barras una junto a la otra, facilitando la lectura de los datos.
library(DT)
datatable(PrecDepartamentos) %>%
formatStyle(columns = c(1,2), 'text-align' = "center")
library(ggplot2)
ggplot(data = PrecDepartamentos, aes(x = Departamentos, y = sumasD)) +
geom_bar(stat = "identity", fill = "blue", color = "green") +
geom_text(aes(label = sumasD),
position = position_identity(), vjust = -0.1,
color = "red",
size = 3) +
labs(x = "Departamento",
y = "Precipitaciones",
title = "Precipitaciones totales por departamento") +
theme_light() +
theme(axis.text.x = element_text(size = 6.5, angle = 90))
Filtrando los departamentos, se obtiene una organización de las diferentes regiones geográficas de Colombia, según el Instituto Geográfico Aguntín Codazzi; conformadas de la siguiente manera:
Región Pacífico : Cauca , Chocó, Nariño, Valle del Cauca
Región Orinoquía : Arauca, Casanare, Meta, Vichada
Región Amazonía : Amazonas, Caquetá, Guainía, Guaviare, Putumayo. (El departamento de Vaupés no aparece en los datos originales, por lo cual no aparece aquí representado)
Región Caribe : Atlántico, Bolívar, Cesar, Cordoba, La Guajira, Magdalena, San Andrés Providencia y Santa Catalina, Sucre.
Región Andina : Antioquia, Boyacá, Caldas, Cundinamarca, Huila, Norte de Santander, Quindío, Risaralda, Santander, Tolima, Bogotá DC.
library(dplyr)
library(tidyr)
PrecRegiónPacífico <- PrecDepartamentos %>%
filter(Departamento == c("Cauca", "Choco", "Nariño", "Valle del Cauca"))
PrecRegiónOrinoquía <- PrecDepartamentos %>%
filter(Departamento == c("Arauca", "Casanare", "Meta", "Vichada"))
PrecRegiónAmazonía <- PrecDepartamentos %>%
filter(Departamento == c("Amazonas", "Caquetá", "Guainía", "Guaviare", "Putumayo"))
## Warning in is.na(e1) | is.na(e2): longitud de objeto mayor no es múltiplo
## de la longitud de uno menor
## Warning in `==.default`(Departamento, c("Amazonas", "Caquetá", "Guainía", :
## longitud de objeto mayor no es múltiplo de la longitud de uno menor
PrecRegiónCaribe <- PrecDepartamentos %>%
filter(Departamento == c("Atlantico", "Bolivar", "Cesar", "Cordoba", "La Guajira", "Magdalena", "San Andres Providencia y Sta.C", "Sucre"))
PrecRegiónAndina <- PrecDepartamentos %>%
filter(Departamento == c("Antioquia", "Boyacá", "Caldas", "Cundinamarca", "Huila", "Norte de Santander", "Quindío", "Risaralda", "Santander", "Tolima", "Bogotá DC"))
## Warning in is.na(e1) | is.na(e2): longitud de objeto mayor no es múltiplo
## de la longitud de uno menor
## Warning in `==.default`(Departamento, c("Antioquia", "Boyacá", "Caldas", :
## longitud de objeto mayor no es múltiplo de la longitud de uno menor
Los graficos para cada región permiten observar el departamento de cada región donde se presentaron mayor cantidad de precipitaciones totales en los 30 años.
library(ggplot2)
## región caribe
ggplot(data = PrecRegiónCaribe, aes(x = Departamento, y = Precipitaciones)) +
geom_bar(stat = "identity", fill = "blue", color = "green") +
geom_text(aes(label = Precipitaciones),
position = position_identity(), vjust = -0.1,
color = "red",
size = 3) +
labs(x = "Departamento",
y = "Precipitaciones",
title = "Precipitaciones totales región Caribe") +
theme_light() +
theme(axis.text.x = element_text(size = 6.5, angle = 90))
## región Pacífico
ggplot(data = PrecRegiónPacífico, aes(x = Departamento, y = Precipitaciones)) +
geom_bar(stat = "identity", fill = "blue", color = "green") +
geom_text(aes(label = Precipitaciones),
position = position_identity(), vjust = -0.1,
color = "red",
size = 3) +
labs(x = "Departamento",
y = "Precipitaciones",
title = "Precipitaciones totales región Pacífico") +
theme_light() +
theme(axis.text.x = element_text(size = 6.5, angle = 90))
## región Orinoquía
ggplot(data = PrecRegiónOrinoquía, aes(x = Departamento, y = Precipitaciones)) +
geom_bar(stat = "identity", fill = "blue", color = "green") +
geom_text(aes(label = Precipitaciones),
position = position_identity(), vjust = -0.1,
color = "red",
size = 3) +
labs(x = "Departamento",
y = "Precipitaciones",
title = "Precipitaciones totales región Orinoquía") +
theme_light() +
theme(axis.text.x = element_text(size = 6.5, angle = 90))
library(dplyr)
library(tidyr)
datosTemperaturas <- datos %>% select(departamento, municipio, enetemp30a, febtemp30a, martemp30a, abrtemp30a, maytemp30a, juntemp30a, jultemp30a, agotemp30a, septemp30a, octtemp30a, novtemp30a, dictemp30a)
names(datosTemperaturas) <- c("Departamento","Municipio", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio" , "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")
head(datosTemperaturas)
## Departamento Municipio Enero Febrero Marzo Abril Mayo Junio Julio
## 1 Tolima Rovira 16.7 16.9 17.0 17.2 17.2 17.0 16.8
## 2 Antioquia Barbosa 21.9 22.2 22.3 22.1 22.1 22.2 22.1
## 3 Bogota DC Bogota DC 13.8 13.9 14.0 14.0 14.1 14.0 13.8
## 4 Boyaca Cuitiva 11.6 11.7 11.8 11.8 11.8 11.4 10.9
## 5 Cesar Valledupar 29.4 30.2 30.3 29.6 29.0 28.8 29.2
## 6 Cordoba Monteria 27.0 27.2 27.5 27.6 27.4 27.5 27.4
## Agosto Septiembre Octubre Noviembre Diciembre
## 1 17.1 17.2 17.0 16.8 16.8
## 2 22.2 22.0 21.7 21.7 21.7
## 3 13.8 13.7 13.8 13.8 13.9
## 4 10.9 11.2 11.4 11.6 11.8
## 5 29.0 28.0 27.7 27.8 28.3
## 6 27.4 27.1 27.0 27.0 27.0
library(dplyr)
library(tidyr)
TempLargo <- datosTemperaturas %>%
gather(key = Mes,
value = Temperatura,
-c(Departamento:Municipio))
str(TempLargo)
## 'data.frame': 5400 obs. of 4 variables:
## $ Departamento: Factor w/ 32 levels "Amazonas","Antioquia",..: 30 2 5 7 12 14 20 23 13 5 ...
## $ Municipio : Factor w/ 342 levels "Abrego","Agrado",..: 237 31 40 91 322 171 97 241 259 40 ...
## $ Mes : chr "Enero" "Enero" "Enero" "Enero" ...
## $ Temperatura : num 16.7 21.9 13.8 11.6 29.4 27 28.5 21.1 20.6 10.5 ...
head(TempLargo)
## Departamento Municipio Mes Temperatura
## 1 Tolima Rovira Enero 16.7
## 2 Antioquia Barbosa Enero 21.9
## 3 Bogota DC Bogota DC Enero 13.8
## 4 Boyaca Cuitiva Enero 11.6
## 5 Cesar Valledupar Enero 29.4
## 6 Cordoba Monteria Enero 27.0
TempLargoEnero <- TempLargo %>%
filter(Mes == "Enero")
PromEneroT <- mean(TempLargoEnero$Temperatura)
TempLargoFebrero <- TempLargo %>%
filter(Mes == "Febrero")
PromFebreroT <- mean(TempLargoFebrero$Temperatura)
TempLargoMarzo <- TempLargo %>%
filter(Mes == "Marzo")
PromMarzoT <- mean(TempLargoMarzo$Temperatura)
TempLargoAbril <- TempLargo %>%
filter(Mes == "Abril")
PromAbrilT <- mean(TempLargoAbril$Temperatura)
TempLargoMayo <- TempLargo %>%
filter(Mes == "Mayo")
PromMayoT <- mean(TempLargoMayo$Temperatura)
TempLargoJunio <- TempLargo %>%
filter(Mes == "Junio")
PromJunioT <- mean(TempLargoJunio$Temperatura)
TempLargoJulio <- TempLargo %>%
filter(Mes == "Julio")
PromJulioT <- mean(TempLargoJulio$Temperatura)
TempLargoAgosto <- TempLargo %>%
filter(Mes == "Agosto")
PromAgostoT <- mean(TempLargoAgosto$Temperatura)
TempLargoSeptiembre <- TempLargo %>%
filter(Mes == "Septiembre")
PromSeptiembreT <- mean(TempLargoSeptiembre$Temperatura)
TempLargoOctubre <- TempLargo %>%
filter(Mes == "Octubre")
PromOctubreT <- mean(TempLargoOctubre$Temperatura)
TempLargoNoviembre <- TempLargo %>%
filter(Mes == "Noviembre")
PromNoviembreT <- mean(TempLargoNoviembre$Temperatura)
TempLargoDiciembre <- TempLargo %>%
filter(Mes == "Diciembre")
PromDiciembreT <- mean(TempLargoDiciembre$Temperatura)
PromediosT <- c(PromEneroT, PromFebreroT, PromMarzoT, PromAbrilT, PromMayoT, PromJunioT, PromJulioT, PromAgostoT, PromSeptiembreT, PromOctubreT, PromNoviembreT, PromDiciembreT)
PromediosT <- round(PromediosT, 3)
MesesT <- c("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")
TempProm <- data.frame(Mes = MesesT, Temperaturas = PromediosT)
print(TempProm)
## Mes Temperaturas
## 1 Enero 22.243
## 2 Febrero 22.471
## 3 Marzo 22.520
## 4 Abril 22.415
## 5 Mayo 22.323
## 6 Junio 22.208
## 7 Julio 22.157
## 8 Agosto 22.335
## 9 Septiembre 22.259
## 10 Octubre 22.051
## 11 Noviembre 21.988
## 12 Diciembre 22.040
library(DT)
datatable(TempProm) %>%
formatStyle(columns = c(1,2), 'text-align' = "center")
barplot(TempProm$Temperaturas, main="Temperaturas promedio por mes", xlab="Mes", ylab="Temperaturas", names.arg=c("Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"), border="orange", density = 150, col = "red", ylim = c(0 , 30) )
TempLargoAtlan <- TempLargo %>%
filter(Departamento == "Atlantico")
PromAtlan <- mean(TempLargoAtlan$Temperatura)
TempLargoBoli <- TempLargo %>%
filter(Departamento == "Bolivar")
PromBoli <- mean(TempLargoBoli$Temperatura)
TempLargoCesar <- TempLargo %>%
filter(Departamento == "Cesar")
PromCesar <- mean(TempLargoCesar$Temperatura)
TempLargoCord <- TempLargo %>%
filter(Departamento == "Cordoba")
PromCord <- mean(TempLargoCord$Temperatura)
TempLargoGuaj <- TempLargo %>%
filter(Departamento == "La Guajira")
PromGuaj <- mean(TempLargoGuaj$Temperatura)
TempLargoMagd <- TempLargo %>%
filter(Departamento == "Magdalena")
PromMagd <- mean(TempLargoMagd$Temperatura)
TempLargoSanAnd <- TempLargo %>%
filter(Departamento == "San Andres Providencia y Sta C
")
PromSanAnd <- mean(TempLargoSanAnd$Temperatura)
TempLargoSucre <- TempLargo %>%
filter(Departamento == "Sucre")
PromSucre <- mean(TempLargoSucre$Temperatura)
TempLargoCau <- TempLargo %>%
filter(Departamento == "Cauca")
PromCau <- mean(TempLargoCau$Temperatura)
TempLargoChoco <- TempLargo %>%
filter(Departamento == "Choco")
PromChoco <- mean(TempLargoChoco$Temperatura)
TempLargoNari <- TempLargo %>%
filter(Departamento == "Narino")
PromNari <- mean(TempLargoNari$Temperatura)
TempLargoValle <- TempLargo %>%
filter(Departamento == "Valle del Cauca")
PromValle <- mean(TempLargoValle$Temperatura)
TempLargoAnt <- TempLargo %>%
filter(Departamento == "Antioquia")
PromAnt <- mean(TempLargoAnt$Temperatura)
TempLargoBoya <- TempLargo %>%
filter(Departamento == "Boyaca")
PromBoya <- mean(TempLargoBoya$Temperatura)
TempLargoCaldas <- TempLargo %>%
filter(Departamento == "Caldas")
PromCaldas <- mean(TempLargoCaldas$Temperatura)
TempLargoCund <- TempLargo %>%
filter(Departamento == "Cundinamarca")
PromCund <- mean(TempLargoCund$Temperatura)
TempLargoHuila <- TempLargo %>%
filter(Departamento == "Huila")
PromHuila <- mean(TempLargoHuila$Temperatura)
TempLargoNorS <- TempLargo %>%
filter(Departamento == "Norte de Santander")
PromNorS <- mean(TempLargoNorS$Temperatura)
TempLargoQuin <- TempLargo %>%
filter(Departamento == "Quindio")
PromQuin <- mean(TempLargoQuin$Temperatura)
TempLargoRisa <- TempLargo %>%
filter(Departamento == "Risaralda")
PromRisa <- mean(TempLargoRisa$Temperatura)
TempLargoSant <- TempLargo %>%
filter(Departamento == "Santander")
PromSant <- mean(TempLargoSant$Temperatura)
TempLargoTol <- TempLargo %>%
filter(Departamento == "Tolima")
PromTol <- mean(TempLargoTol$Temperatura)
TempLargoBog <- TempLargo %>%
filter(Departamento == "Bogota DC")
PromBog <- mean(TempLargoBog$Temperatura)
TempLargoAmaz <- TempLargo %>%
filter(Departamento == "Amazonas")
PromAmaz <- mean(TempLargoAmaz$Temperatura)
TempLargoCaque <- TempLargo %>%
filter(Departamento == "Caqueta")
PromCaque <- mean(TempLargoCaque$Temperatura)
TempLargoGua <- TempLargo %>%
filter(Departamento == "Guainia")
PromGua <- mean(TempLargoGua$Temperatura)
TempLargoGuav <- TempLargo %>%
filter(Departamento == "Guaviare")
PromGuav <- mean(TempLargoGuav$Temperatura)
TempLargoPutu <- TempLargo %>%
filter(Departamento == "Putumayo")
PromPutu <- mean(TempLargoPutu$Temperatura)
TempLargoAra <- TempLargo %>%
filter(Departamento == "Arauca")
PromAra <- mean(TempLargoAra$Temperatura)
TempLargoCasa <- TempLargo %>%
filter(Departamento == "Casanare")
PromCasa <- mean(TempLargoCasa$Temperatura)
TempLargoMeta <- TempLargo %>%
filter(Departamento == "Meta")
PromMeta <- mean(TempLargoMeta$Temperatura)
TempLargoVicha <- TempLargo %>%
filter(Departamento == "Vichada")
PromVicha <- mean(TempLargoVicha$Temperatura)
DeptosT <- c("Atlántico", "Bolívar", "Cesar", "Córdoba", "La Guajira", "Magdalena", "San Andrés Providencia y Sta. C", "Sucre", "Cauca", "Chocó", "Nariño", "Valle del Cauca", "Antioquia", "Boyacá", "Caldas", "Cundinamarca", "Huila", "Norte de Santander", "Quindío", "Risaralda", "Santander", "Tolima", "Bogotá DC", "Amazonas", "Caquetá", "Guainía", "Guaviare", "Putumayo", "Arauca", "Casanare", "Meta", "Vichada")
PromDeptos <- c(PromAtlan, PromBoli, PromCesar, PromCord, PromGuaj, PromMagd, PromSanAnd, PromSucre, PromCau, PromChoco, PromNari, PromValle, PromAnt, PromBoya, PromCaldas, PromCund, PromHuila, PromNorS, PromQuin, PromRisa, PromSant, PromTol, PromBog, PromAmaz, PromCaque, PromGua, PromGuav, PromPutu, PromAra, PromCasa, PromMeta, PromVicha)
PromDeptos <- round(PromDeptos, 3)
TempPromDep <- data.frame(Departamento = DeptosT , Temperaturas = PromDeptos)
head(TempPromDep)
## Departamento Temperaturas
## 1 Atlántico 27.833
## 2 Bolívar 27.366
## 3 Cesar 28.335
## 4 Córdoba 27.573
## 5 La Guajira 27.927
## 6 Magdalena 26.206
library(DT)
datatable(TempPromDep) %>%
formatStyle(columns = c(1,2), 'text-align' = "center")
library(ggplot2)
ggplot(data = TempPromDep, aes(x = Departamento, y = Temperaturas)) +
geom_bar(stat = "identity", fill = "red", color = "orange") +
geom_text(aes(label = Temperaturas),
position = position_identity(), vjust = -0.1,
color = "blue",
size = 3) +
labs(x = "Departamento",
y = "Temperaturas",
title = "Temperaturas promedio por departamento") +
theme_light() +
theme(axis.text.x = element_text(size = 6.5, angle = 90))
## Warning: Removed 1 rows containing missing values (position_stack).
## Warning: Removed 1 rows containing missing values (geom_text).
library(dplyr)
library(tidyr)
TempRegiónPacífico <- TempLargo %>%
filter(Departamento == c("Cauca", "Choco", "Narino", "Valle del Cauca"))
TempRegiónOrinoquía <- TempLargo %>%
filter(Departamento == c("Arauca", "Casanare", "Meta", "Vichada"))
TempRegiónAmazonía <- TempLargo %>%
filter(Departamento == c("Amazonas", "Caqueta", "Guainia", "Guaviare", "Putumayo" ))
TempRegiónCaribe <- TempLargo %>%
filter(Departamento == c("Atlantico", "Bolivar", "Cesar", "Cordoba", "La Guajira", "Magdalena", "San Andres Providencia y Sta C", "Sucre"))
TempRegiónAndina <- TempLargo %>%
filter(Departamento == c("Antioquia", "Boyaca", "Caldas", "Cundinamarca", "Huila", "Norte de Santander", "Quindio", "Risaralda", "Santander", "Tolima", "Bogota DC"))
## Warning in is.na(e1) | is.na(e2): longitud de objeto mayor no es múltiplo
## de la longitud de uno menor
## Warning in `==.default`(Departamento, c("Antioquia", "Boyaca", "Caldas", :
## longitud de objeto mayor no es múltiplo de la longitud de uno menor
library(ggplot2)
ggplot(TempRegiónAmazonía, aes(Departamento, Temperatura/1e3)) +
geom_bar(stat = "identity") +
xlab("Departamento") + ylab("Temperaturas") +
labs(title = "Temperaturas de la Región Amazonía")
ggplot(TempRegiónPacífico, aes(Departamento, Temperatura/1e3)) +
geom_bar(stat = "identity") +
xlab("Departamento") + ylab("Temperaturas") +
labs(title = "Temperaturas de la Región Pacífico")
ggplot(TempRegiónCaribe, aes(Departamento, Temperatura/1e3)) +
geom_bar(stat = "identity") +
xlab("Departamento") + ylab("Temperaturas") +
labs(title = "Temperaturas de la Región Caribe")
ggplot(TempRegiónAndina, aes(Departamento, Temperatura/1e3)) +
geom_bar(stat = "identity") +
xlab("Departamento") + ylab("Temperaturas") +
labs(title = "Temperaturas de la Región Andina")
ggplot(TempRegiónOrinoquía, aes(Departamento, Temperatura/1e3)) +
geom_bar(stat = "identity") +
xlab("Departamento") + ylab("Temperaturas") +
labs(title = "Temperaturas de la Región Orinoquía")