Correlación

Datos y librerias

Los archivos se encuentran aquí:

https://sites.google.com/site/digitcognem/boxfile_pract

La correlación es el análisis de la relación lineal entre dos variables. El coeficiente de correlación es el índice mas adecuado para medir la asociación lineal entre dos variables. En R se obtiene con la función cor.

Para el conjunto de datos clima, hay que nulificar la variable días:

clima$dia<-NULL

#asignar resultados a variable por si hace falta grabar resultados a archivo:

crclim<-cor(clima)

crclim

            tmin        tmax    tmedia        Ppt       Evap      HumRel

tmin   1.0000000  0.31230617 0.8169461 0.17347871  0.3491946  0.23312429

tmax   0.3123062  1.00000000 0.7976712 0.01002015  0.3772064 -0.02039251

tmedia 0.8169461  0.79767116 1.0000000 0.11636765  0.4468179  0.13641269

Ppt    0.1734787  0.01002015 0.1163677 1.00000000  0.1786153  0.22142236

Evap   0.3491946  0.37720642 0.4468179 0.17861529  1.0000000 -0.25063796

HumRel 0.2331243 -0.02039251 0.1364127 0.22142236 -0.2506380  1.00000000

Se observa que los valores mas altos asociativos son entre la temperatura media y la temperatura mínima (r= 0.81) y entre la temperatura media y la temperatura máxima (r= 0.79).

Para grabar sus resultados a archivo, emplear write.table:

write.table(crclim,"corrclima.csv",sep=',',row.names=FALSE)

De esta manera se graban los resultados a un archivo csv, llamado corrclima.csv, con la separación de columnas mediante la coma ','. row.names=FALSE evita que la primera columna sea el índice de las hileras o filas.

La correlación entre dos variables particulares es: cor(x1,x2), por ejemplo:

cor(clima$tmin,clima$tmedia) 

0.8169461

Para representar gráficamente la correlación entre variables hay diferentes maneras.

Gráficas de correlación con R base

plot(clima,pch=15,col="blue")

La opcion pch=4 es el tipo de símbolo empleado para representar los puntos, col="blue" es el color de los puntos.

Para graficar dos variables particulares hay que introducir x e y, por ejemplo, temperatura mínima contra temperatura media:

plot(clima$tmin,clima$tmedia,pch=15,col="orange",xlab="T min",ylab="T media")

Gráficas de Dispersión con ggplot

En este caso el archivo de datos (temps) contiene solamente las temperaturas mínimas, máximas y medias en formato largo. El encabezado del archivo es:

Temp,X1,X2

minmax,19,27

minmax,15,31

minmax,17,25

minmax,14.5,24

...

Para graficar los puntos:

corrp<-ggplot(temps,aes(X1,X2))+geom_point(aes(colour=Temp),size=4)+theme_bw()

corrp

Si se pretende crear las gráficas por separado, para cada clase de Temp, entonces hay que aplicar facet_grid:

corrp+facet_grid(.~Temp)

Gráficas de alta densidad con Hexbin

En este ejemplo, usaremos el archivo v1v5.csv, cargado como v1v2. El paquete hexbin representa los puntos mediante hexágonos coloreados que indican la densidad de puntos en ese espacio, mediante un gradiente de color. la opción xbins=30 indica el numero de celdas en los cuales el eje x se particiona.

hdata<-hexbin(v1v2$V1,v1v2$V2,xbins=30)

plot(hdata,xlab="Temp media",ylab="Temp max")

Gráficas de Alta Densidad con ggplot

En este caso, la gráfica es similar a la anterior, pero con el paquete ggplot:

bpn<-ggplot(v1v2, aes(x=V1,y=V2)) + geom_hex(bins=35) + xlab ("Media") + ylab("Max")+theme_bw()

bpn+scale_fill_gradient(low="yellow",high="purple")

Referencias en linea:

Una manera alternativa de crear una matriz de correlación de manera gráfica se encuentra en:

http://www.peterhaschke.com/r/2013/04/23/CorrelationMatrix.html

Diversos paquetes y R basico:

http://www.statmethods.net/graphs/scatterplot.html

ggplot:

http://docs.ggplot2.org/current/geom_point.html

hexbin: Cambiar paleta de colores:

http://stackoverflow.com/questions/15573871/specific-colours-are-required-within-hexbin-package