Comparación de datos climatológicos de Almería, Málaga, Alicante y Palma de Mallorca

Una pareja próxima a su jubilación decide comparar el clima de cuatro ciudades situadas en la costa mediterránea española con objeto de decidir cuál de ellas es la más apta para pasar largas temporadas. Los datos se extraen de la página web: Valores climatológicos normales - AEMET. Los valores correspondientes a las cuatro ciudades aparecen en el archivo "DatClim.xlsx" que puede ser descargado aquí.

#INICIO -------------------------
rm(list=ls(all=TRUE))
#Borramos todos los gráficos que pudiera haber
graphics.off()

#Cargamos un paquete para leer datos de Excel. Hemos guardado previamente en el directorio
#de trabajo el archivo "DatClim.xlsx" 
library(readxl);datos<-read_excel("DatClim.xlsx");attach(datos)

#Transformamos en vectores numéricos TM, Tm, R, DR, DD e I
TM<-as.numeric(TM);Tm<-as.numeric(Tm);R<-as.numeric(R)
DR<-as.numeric(DR);DD<-as.numeric(DD);I<-as.numeric(I)

#Elegimos los datos de cada ciudad
#Almería
ALM.TM<-TM[1:12];ALM.Tm<-Tm[1:12];ALM.R<-R[1:12]
ALM.DR<-DR[1:12];ALM.DD<-DD[1:12];ALM.I<-I[1:12]
#Málaga
MAL.TM<-TM[14:25];MAL.Tm<-Tm[14:25];MAL.R<-R[14:25]
MAL.DR<-DR[14:25];MAL.DD<-DD[14:25];MAL.I<-I[14:25]
#Alicante
ALI.TM<-TM[27:38];ALI.Tm<-Tm[27:38];ALI.R<-R[27:38]
ALI.DR<-DR[27:38];ALI.DD<-DD[27:38];ALI.I<-I[27:38]
#Palma de Mallorca
PAL.TM<-TM[40:51];PAL.Tm<-Tm[40:51];PAL.R<-R[40:51]
PAL.DR<-DR[40:51];PAL.DD<-DD[40:51];PAL.I<-I[40:51]

meses<-c("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic")
ciudades<-c("Almería","Málaga","Alicante","Palma")

#Generamos tablas de datos para poder usar la función barplot
MTTM<-t(matrix(c(ALM.TM,MAL.TM,ALI.TM,PAL.TM),nrow=12));MTTMtabla<-as.table(MTTM)
MTTm<-t(matrix(c(ALM.Tm,MAL.Tm,ALI.Tm,PAL.Tm),nrow=12));MTTmtabla<-as.table(MTTm)
MTR<-t(matrix(c(ALM.R,MAL.R,ALI.R,PAL.R),nrow=12));MTRtabla<-as.table(MTR)
MTDR<-t(matrix(c(ALM.DR,MAL.DR,ALI.DR,PAL.DR),nrow=12));MTDRtabla<-as.table(MTDR)
MTDD<-t(matrix(c(ALM.DD,MAL.DD,ALI.DD,PAL.DD),nrow=12));MTDDtabla<-as.table(MTDD)
MTI<-t(matrix(c(ALM.I,MAL.I,ALI.I,PAL.I),nrow=12));MTItabla<-as.table(MTI)

#Generamos los gráficos correspondientes a las comparaciones de los valores MENSUALES

windows()
barplot(MTTMtabla,main="Temperatura máxima (media mensual)",
names.arg=meses,col=rainbow(4),beside=TRUE)
legend("topleft",legend=ciudades,fill=rainbow(4),
col=rainbow(4))

windows()
barplot(MTTmtabla,main="Temperatura mínima (media mensual)",
names.arg=meses,col=rainbow(4),beside=TRUE)
legend("topleft",legend=ciudades,fill=rainbow(4),
col=rainbow(4))

windows()
barplot(MTRtabla,main="Precipitación en mm (media mensual)",
names.arg=meses,col=rainbow(4),beside=TRUE)
legend("top",legend=ciudades,fill=rainbow(4),
col=rainbow(4))

windows()
barplot(MTDRtabla,main="Días de precipitación superior a 1 mm (media mensual)",
names.arg=meses,col=rainbow(4),beside=TRUE)
legend("top",legend=ciudades,fill=rainbow(4),
col=rainbow(4))

windows()
barplot(MTDDtabla,main="Días despejados (media mensual)",
names.arg=meses,col=rainbow(4),beside=TRUE)
legend("topleft",legend=ciudades,fill=rainbow(4),
col=rainbow(4))

windows()
barplot(MTItabla,main="Horas de sol (media mensual)",
names.arg=meses,col=rainbow(4),beside=TRUE)
legend("topleft",legend=ciudades,fill=rainbow(4),
col=rainbow(4))

#Obtenemos, en la misma página, los gráficos de comparación de valores ANUALES

windows();split.screen(c(2,3))

screen(1)
ANUTM<-matrix(c(TM[13],TM[26],TM[39],TM[52]),nrow=1)
ANUTMtabla<-as.table(ANUTM)
bTM<-barplot(ANUTMtabla,main="Temperatura máxima (media anual)",
names.arg=ciudades,col=rainbow(4),ylim=c(0,25),beside=TRUE)
text(bTM,ANUTMtabla+1,labels = ANUTMtabla)

screen(2)
ANUTm<-matrix(c(Tm[13],Tm[26],Tm[39],Tm[52]),nrow=1)
ANUTmtabla<-as.table(ANUTm)
bTm<-barplot(ANUTmtabla,main="Temperatura mínima (media anual)",
names.arg=ciudades,col=rainbow(4),ylim=c(0,17),beside=TRUE)
text(bTm,ANUTmtabla+0.8,labels = ANUTmtabla)

screen(3)
ANUR<-matrix(c(R[13],R[26],R[39],R[52]),nrow=1)
ANURtabla<-as.table(ANUR)
bR<-barplot(ANURtabla,main="Precipitación en mm (total anual)",
names.arg=ciudades,col=rainbow(4),ylim=c(0,575),beside=TRUE)
text(bR,ANURtabla+30,labels = ANURtabla)

screen(4)
ANUDR<-matrix(c(DR[13],DR[26],DR[39],DR[52]),nrow=1)
ANUDRtabla<-as.table(ANUDR)
bDR<-barplot(ANUDRtabla,main="Días de precipitación superior a 1 mm (total anual)",
names.arg=ciudades,col=rainbow(4),ylim=c(0,55),beside=TRUE)
text(bDR,ANUDRtabla+2.5,labels = ANUDRtabla)

screen(5)
ANUDD<-matrix(c(DD[13],DD[26],DD[39],DD[52]),nrow=1)
ANUDDtabla<-as.table(ANUDD)
bDD<-barplot(ANUDDtabla,main="Días despejados (total anual)",
names.arg=ciudades,col=rainbow(4),ylim=c(0,125),beside=TRUE)
text(bDD,ANUDDtabla+4.5,labels = ANUDDtabla)

screen(6)
ANUI<-matrix(c(I[13],I[26],I[39],I[52]),nrow=1)
ANUItabla<-as.table(ANUI)
bI<-barplot(ANUItabla,main="Horas de sol (total anual)",
names.arg=ciudades,col=rainbow(4),ylim=c(0,3300),beside=TRUE)
text(bI,ANUItabla+130,labels = ANUItabla)
#FIN -------------------------

No hay comentarios:

Publicar un comentario