meteorSep <- read.csv2("diario.csv", enc = "utf8", skip = 7)
dim(meteorSep)
## [1] 89 179
# Número de columnas de interés
names(meteorSep)
## [1] "AEROPUERTO" "X1" "X2" "X3"
## [5] "X4" "X5" "X6" "X7"
## [9] "X8" "X9" "X10" "X11"
## [13] "X12" "X13" "X14" "X15"
## [17] "X16" "X17" "X18" "X19"
## [21] "X20" "X21" "X22" "X23"
## [25] "X24" "X25" "X26" "X27"
## [29] "X28" "X29" "X30" "X31"
## [33] "TOTAL" "X" "ESTACION" "X1.1"
## [37] "X2.1" "X3.1" "X4.1" "X5.1"
## [41] "X6.1" "X7.1" "X8.1" "X9.1"
## [45] "X10.1" "X11.1" "X12.1" "X13.1"
## [49] "X14.1" "X15.1" "X16.1" "X17.1"
## [53] "X18.1" "X19.1" "X20.1" "X21.1"
## [57] "X22.1" "X23.1" "X24.1" "X25.1"
## [61] "X26.1" "X27.1" "X28.1" "X29.1"
## [65] "X30.1" "X31.1" "X.1" "ESTACION.1"
## [69] "X1.2" "X2.2" "X3.2" "X4.2"
## [73] "X5.2" "X6.2" "X7.2" "X8.2"
## [77] "X9.2" "X10.2" "X11.2" "X12.2"
## [81] "X13.2" "X14.2" "X15.2" "X16.2"
## [85] "X17.2" "X18.2" "X19.2" "X20.2"
## [89] "X21.2" "X22.2" "X23.2" "X24.2"
## [93] "X25.2" "X26.2" "X27.2" "X28.2"
## [97] "X29.2" "X30.2" "X31.2" "X.2"
## [101] "ESTACION.2" "X1.3" "X2.3" "X3.3"
## [105] "X4.3" "X5.3" "X6.3" "X7.3"
## [109] "X8.3" "X9.3" "X10.3" "X11.3"
## [113] "X12.3" "X13.3" "X14.3" "X15.3"
## [117] "X16.3" "X17.3" "X18.3" "X19.3"
## [121] "X20.3" "X21.3" "X22.3" "X23.3"
## [125] "X24.3" "X25.3" "X26.3" "X27.3"
## [129] "X28.3" "X29.3" "X30.3" "X31.3"
## [133] "X1.4" "X.3" "X.4" "X.5"
## [137] "X.6" "X.7" "X.8" "X.9"
## [141] "X.10" "X.11" "X.12" "X.13"
## [145] "X.14" "X.15" "X.16" "AÑO"
## [149] "ESTACION.3" "VIENEN" "X.17" "X.18"
## [153] "X.19" "X.20" "X.21" "X.22"
## [157] "X.23" "X.24" "X.25" "X.26"
## [161] "X.27" "X.28" "X.29" "AÑO.1"
## [165] "ESTACION.4" "VIENEN.1" "AEROPUERTO.1" "X9.4"
## [169] "EN.EL.MES" "MENSUAL" "EN.EL.MES.1" "MENSUAL.1"
## [173] "RELEVANTE" "X9.5" "X0" "X9.6"
## [177] "X0.1" "X10.4" "X.30"
ncolumnas <- which(names(meteorSep) == "X31.3")
ncolumnas
## [1] 132
meteorSep$AEROPUERTO
## [1] San Andrés Providencia Santa Marta Cartagena
## [5] Barranquilla Riohacha Valledupar Montería
## [9] Barrancabermeja Bucaramanga Cúcuta Apartadó
## [13] Medellín Rionegro Pereira Armenia
## [17] Ibagué Bogotá Eldorado Cali Neiva
## [21] Pasto/Chachagüí Ipiales Quibdó Arauca
## [25] Puerto Carreño Villavicencio Leticia
## [29] SP PV SM CG
## [33] BQ RH VP MR
## [37] MR EJ LC OT
## [41] EJ BG CC LC
## [45] MD RG PE AR
## [49] IB BO CL NV
## [53] PS IP UI UI
## [57] UC PC VV LT
## [61] SP PV SM
## [65] CG BQ RH VP
## [69] MR EJ BG CC
## [73] LC MD RG PE
## [77] AR IB BO CL
## [81] NV PS IP UI
## [85] UI UC PC VV
## [89] LT
## 56 Levels: Apartadó AR Arauca Armenia Barrancabermeja Barranquilla ... VV
nfilas <- which(meteorSep$AEROPUERTO == "Leticia")
nfilas
## [1] 27
meteorSep <- droplevels(meteorSep[1:nfilas,1:ncolumnas])
head(meteorSep)
## AEROPUERTO X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13
## 1 San Andrés 0.2 0.1 0.7 147.6 58.3 0.1 18.9 6.3 2.3 NA NA NA NA
## 2 Providencia 0.0 5.4 11.3 70.7 64.4 0.0 0.4 20.1 14.0 NA NA NA NA
## 3 Santa Marta 0.0 0.5 22.1 0.0 0.0 0.0 0.0 0.1 0.0 NA NA NA NA
## 4 Cartagena 0.0 9.2 9.6 0.0 0.0 0.0 0.3 0.0 0.1 NA NA NA NA
## 5 Barranquilla 0.0 0.9 34.3 0.0 0.0 0.0 3.2 0.0 11.7 NA NA NA NA
## 6 Riohacha 0.0 0.0 2.0 0.0 0.0 0.0 20.2 0.0 0.0 NA NA NA NA
## X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X27 X28 X29 X30 X31
## 1 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## 3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## 4 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## 5 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## 6 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## TOTAL X ESTACION X1.1 X2.1 X3.1 X4.1 X5.1 X6.1 X7.1 X8.1 X9.1 X10.1
## 1 234,5 NA San Andrés 29.0 29.0 28.4 27.6 26.2 28.7 28.7 27.9 27.3 NA
## 2 186,3 NA Providencia 28.9 28.6 28.2 27.8 25.4 29.0 28.7 29.1 27.1 NA
## 3 22,7 NA Santa Marta 29.9 28.5 27.2 29.1 29.9 28.7 29.6 29.0 29.9 NA
## 4 19,2 NA Cartagena 28.9 28.9 27.9 29.2 29.8 29.2 29.7 28.8 27.8 NA
## 5 50,1 NA Barranquilla 30.4 29.7 26.4 27.8 28.5 29.2 27.4 28.4 28.2 NA
## 6 22,2 NA Riohacha 31.8 30.6 30.9 29.5 30.5 32.4 26.4 29.3 31.7 NA
## X11.1 X12.1 X13.1 X14.1 X15.1 X16.1 X17.1 X18.1 X19.1 X20.1 X21.1 X22.1
## 1 NA NA NA NA NA NA NA NA NA NA NA NA
## 2 NA NA NA NA NA NA NA NA NA NA NA NA
## 3 NA NA NA NA NA NA NA NA NA NA NA NA
## 4 NA NA NA NA NA NA NA NA NA NA NA NA
## 5 NA NA NA NA NA NA NA NA NA NA NA NA
## 6 NA NA NA NA NA NA NA NA NA NA NA NA
## X23.1 X24.1 X25.1 X26.1 X27.1 X28.1 X29.1 X30.1 X31.1 X.1 ESTACION.1
## 1 NA NA NA NA NA NA NA NA NA NA San Andrés
## 2 NA NA NA NA NA NA NA NA NA NA Providencia
## 3 NA NA NA NA NA NA NA NA NA NA Santa Marta
## 4 NA NA NA NA NA NA NA NA NA NA Cartagena
## 5 NA NA NA NA NA NA NA NA NA NA Barranquilla
## 6 NA NA NA NA NA NA NA NA NA NA Riohacha
## X1.2 X2.2 X3.2 X4.2 X5.2 X6.2 X7.2 X8.2 X9.2 X10.2 X11.2 X12.2 X13.2
## 1 31.4 30.9 30.3 29.5 27.4 30.6 30.4 30.4 29.4 NA NA NA NA
## 2 31.9 31.4 30.8 29.7 27.2 31.0 30.9 31.5 29.3 NA NA NA NA
## 3 35.0 33.4 32.2 33.0 33.0 33.4 33.2 32.6 33.0 NA NA NA NA
## 4 34.4 33.6 31.8 33.0 34.4 32.6 33.6 32.3 33.6 NA NA NA NA
## 5 35.1 34.3 33.6 32.3 34.8 33.2 35.4 32.8 35.6 NA NA NA NA
## 6 36.7 36.4 35.5 34.9 35.1 37.1 34.6 34.9 37.2 NA NA NA NA
## X14.2 X15.2 X16.2 X17.2 X18.2 X19.2 X20.2 X21.2 X22.2 X23.2 X24.2 X25.2
## 1 NA NA NA NA NA NA NA NA NA NA NA NA
## 2 NA NA NA NA NA NA NA NA NA NA NA NA
## 3 NA NA NA NA NA NA NA NA NA NA NA NA
## 4 NA NA NA NA NA NA NA NA NA NA NA NA
## 5 NA NA NA NA NA NA NA NA NA NA NA NA
## 6 NA NA NA NA NA NA NA NA NA NA NA NA
## X26.2 X27.2 X28.2 X29.2 X30.2 X31.2 X.2 ESTACION.2 X1.3 X2.3 X3.3 X4.3
## 1 NA NA NA NA NA NA NA San Andrés 27.6 27.0 27.4 26.8
## 2 NA NA NA NA NA NA NA Providencia 26.5 26.8 26.2 24.9
## 3 NA NA NA NA NA NA NA Santa Marta 25.2 26.8 24.8 24.2
## 4 NA NA NA NA NA NA NA Cartagena 27.4 27.3 23.8 24.6
## 5 NA NA NA NA NA NA NA Barranquilla 27.5 27.0 24.8 23.9
## 6 NA NA NA NA NA NA NA Riohacha 22.4 27.3 28.0 22.9
## X5.3 X6.3 X7.3 X8.3 X9.3 X10.3 X11.3 X12.3 X13.3 X14.3 X15.3 X16.3 X17.3
## 1 23.5 24.0 27.8 23.6 25.5 26.0 NA NA NA NA NA NA NA
## 2 23.2 23.2 27.9 28.0 25.5 24.5 NA NA NA NA NA NA NA
## 3 24.8 26.2 25.6 25.4 25.2 24.8 NA NA NA NA NA NA NA
## 4 26.6 26.3 26.4 26.0 26.4 26.4 NA NA NA NA NA NA NA
## 5 25.8 26.2 25.6 23.9 25.3 23.8 NA NA NA NA NA NA NA
## 6 25.8 26.7 27.2 23.0 27.4 27.2 NA NA NA NA NA NA NA
## X18.3 X19.3 X20.3 X21.3 X22.3 X23.3 X24.3 X25.3 X26.3 X27.3 X28.3 X29.3
## 1 NA NA NA NA NA NA NA NA NA NA NA NA
## 2 NA NA NA NA NA NA NA NA NA NA NA NA
## 3 NA NA NA NA NA NA NA NA NA NA NA NA
## 4 NA NA NA NA NA NA NA NA NA NA NA NA
## 5 NA NA NA NA NA NA NA NA NA NA NA NA
## 6 NA NA NA NA NA NA NA NA NA NA NA NA
## X30.3 X31.3
## 1 NA NA
## 2 NA NA
## 3 NA NA
## 4 NA NA
## 5 NA NA
## 6 NA NA
bd1 <- subset(meteorSep, select=X1:X31)
names(bd1) <- 1:31
bd2 <- subset(meteorSep, select=X1.1:X31.1)
names(bd2) <- 1:31
bd3 <- subset(meteorSep, select=X1.2:X31.2)
names(bd3) <- 1:31
bd4 <- subset(meteorSep, select=X1.3:X31.3)
names(bd4) <- 1:31
# Reunir las variables en una sola base de datos.
bdT <- rbind(bd1,bd2,bd3,bd4)
head(bdT)
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
## 1 0.2 0.1 0.7 147.6 58.3 0.1 18.9 6.3 2.3 NA NA NA NA NA NA NA NA NA NA
## 2 0.0 5.4 11.3 70.7 64.4 0.0 0.4 20.1 14.0 NA NA NA NA NA NA NA NA NA NA
## 3 0.0 0.5 22.1 0.0 0.0 0.0 0.0 0.1 0.0 NA NA NA NA NA NA NA NA NA NA
## 4 0.0 9.2 9.6 0.0 0.0 0.0 0.3 0.0 0.1 NA NA NA NA NA NA NA NA NA NA
## 5 0.0 0.9 34.3 0.0 0.0 0.0 3.2 0.0 11.7 NA NA NA NA NA NA NA NA NA NA
## 6 0.0 0.0 2.0 0.0 0.0 0.0 20.2 0.0 0.0 NA NA NA NA NA NA NA NA NA NA
## 20 21 22 23 24 25 26 27 28 29 30 31
## 1 NA NA NA NA NA NA NA NA NA NA NA NA
## 2 NA NA NA NA NA NA NA NA NA NA NA NA
## 3 NA NA NA NA NA NA NA NA NA NA NA NA
## 4 NA NA NA NA NA NA NA NA NA NA NA NA
## 5 NA NA NA NA NA NA NA NA NA NA NA NA
## 6 NA NA NA NA NA NA NA NA NA NA NA NA
# Tomar el nombre de las estaciones
Estaciones <- meteorSep$AEROPUERTO
# Llevar el nombre de las estaciones a la base de datos
bdT$Estación <- Estaciones
# Identificar el nombre de las variables
variables <- c("precip", "tmedia", "tmax", "tmin")
# Llevar el nombre de las estaciones a la base de datos.
bdT$variables <- rep(variables,each = nrow(meteorSep))
head(bdT)
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
## 1 0.2 0.1 0.7 147.6 58.3 0.1 18.9 6.3 2.3 NA NA NA NA NA NA NA NA NA NA
## 2 0.0 5.4 11.3 70.7 64.4 0.0 0.4 20.1 14.0 NA NA NA NA NA NA NA NA NA NA
## 3 0.0 0.5 22.1 0.0 0.0 0.0 0.0 0.1 0.0 NA NA NA NA NA NA NA NA NA NA
## 4 0.0 9.2 9.6 0.0 0.0 0.0 0.3 0.0 0.1 NA NA NA NA NA NA NA NA NA NA
## 5 0.0 0.9 34.3 0.0 0.0 0.0 3.2 0.0 11.7 NA NA NA NA NA NA NA NA NA NA
## 6 0.0 0.0 2.0 0.0 0.0 0.0 20.2 0.0 0.0 NA NA NA NA NA NA NA NA NA NA
## 20 21 22 23 24 25 26 27 28 29 30 31 Estación variables
## 1 NA NA NA NA NA NA NA NA NA NA NA NA San Andrés precip
## 2 NA NA NA NA NA NA NA NA NA NA NA NA Providencia precip
## 3 NA NA NA NA NA NA NA NA NA NA NA NA Santa Marta precip
## 4 NA NA NA NA NA NA NA NA NA NA NA NA Cartagena precip
## 5 NA NA NA NA NA NA NA NA NA NA NA NA Barranquilla precip
## 6 NA NA NA NA NA NA NA NA NA NA NA NA Riohacha precip
# Ordenar las variables en la base de datos
bdT <- bdT[c("Estación", "variables", 1:31)]
head(bdT)
## Estación variables 1 2 3 4 5 6 7 8 9 10 11
## 1 San Andrés precip 0.2 0.1 0.7 147.6 58.3 0.1 18.9 6.3 2.3 NA NA
## 2 Providencia precip 0.0 5.4 11.3 70.7 64.4 0.0 0.4 20.1 14.0 NA NA
## 3 Santa Marta precip 0.0 0.5 22.1 0.0 0.0 0.0 0.0 0.1 0.0 NA NA
## 4 Cartagena precip 0.0 9.2 9.6 0.0 0.0 0.0 0.3 0.0 0.1 NA NA
## 5 Barranquilla precip 0.0 0.9 34.3 0.0 0.0 0.0 3.2 0.0 11.7 NA NA
## 6 Riohacha precip 0.0 0.0 2.0 0.0 0.0 0.0 20.2 0.0 0.0 NA NA
## 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
## 1 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## 3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## 4 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## 5 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
## 6 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
require(reshape2)
## Loading required package: reshape2
bdT2 <- melt(bdT, c("Estación", "variables"),
variable.name = "dia",
value.name = "valor")
bdT2$dia <- as.integer(bdT2$dia)
bdT3 <- dcast(bdT2, Estación + dia ~ variables, value.var = "valor" )
head(bdT3)
## Estación dia precip tmax tmedia tmin
## 1 Apartadó 1 130.9 33.6 28.7 25.2
## 2 Apartadó 2 1.1 28.6 25.6 23.0
## 3 Apartadó 3 32.2 32.8 28.5 23.9
## 4 Apartadó 4 0.0 32.1 27.9 23.1
## 5 Apartadó 5 2.5 33.9 29.0 24.1
## 6 Apartadó 6 0.3 30.2 27.8 23.6
require(plyr)
## Loading required package: plyr
bdT3$Estación <- factor(bdT3$Estación, levels = Estaciones)
bdT3 <- arrange(bdT3,Estación,dia)
head(bdT3)
## Estación dia precip tmax tmedia tmin
## 1 San Andrés 1 0.2 31.4 29.0 27.6
## 2 San Andrés 2 0.1 30.9 29.0 27.0
## 3 San Andrés 3 0.7 30.3 28.4 27.4
## 4 San Andrés 4 147.6 29.5 27.6 26.8
## 5 San Andrés 5 58.3 27.4 26.2 23.5
## 6 San Andrés 6 0.1 30.6 28.7 24.0
Resumen estadístico de la base de datos
summary(bdT3)
## Estación dia precip tmax
## San Andrés : 31 Min. : 1 Min. : 0.0 Min. :12.0
## Providencia : 31 1st Qu.: 8 1st Qu.: 0.0 1st Qu.:29.2
## Santa Marta : 31 Median :16 Median : 0.0 Median :32.0
## Cartagena : 31 Mean :16 Mean : 6.5 Mean :30.6
## Barranquilla: 31 3rd Qu.:24 3rd Qu.: 2.4 3rd Qu.:33.7
## Riohacha : 31 Max. :31 Max. :147.6 Max. :38.0
## (Other) :651 NA's :594 NA's :594
## tmedia tmin
## Min. : 8.2 Min. : 1.2
## 1st Qu.:24.1 1st Qu.:18.2
## Median :27.1 Median :22.9
## Mean :25.5 Mean :20.8
## 3rd Qu.:28.9 3rd Qu.:24.8
## Max. :32.4 Max. :28.0
## NA's :594 NA's :567
Quitar los valores faltantes únicamente donde todos sean valores faltantes.
vf <- with(bdT3,is.na(precip) & is.na(tmax) & is.na(tmedia) & is.na(tmin))
bdT3 <- bdT3[!vf,]
summary(bdT3)
## Estación dia precip tmax
## San Andrés : 10 Min. : 1.0 Min. : 0.00 Min. :12.0
## Providencia : 10 1st Qu.: 3.0 1st Qu.: 0.00 1st Qu.:29.2
## Santa Marta : 10 Median : 5.5 Median : 0.00 Median :32.0
## Cartagena : 10 Mean : 5.5 Mean : 6.46 Mean :30.6
## Barranquilla: 10 3rd Qu.: 8.0 3rd Qu.: 2.35 3rd Qu.:33.7
## Riohacha : 10 Max. :10.0 Max. :147.60 Max. :38.0
## (Other) :210 NA's :27 NA's :27
## tmedia tmin
## Min. : 8.2 Min. : 1.2
## 1st Qu.:24.1 1st Qu.:18.2
## Median :27.1 Median :22.9
## Mean :25.5 Mean :20.8
## 3rd Qu.:28.9 3rd Qu.:24.8
## Max. :32.4 Max. :28.0
## NA's :27