Foro de debate

¿Cómo se puede hacer un bucle con varias columnas de una tabla? cor.test()

Re: ¿Cómo se puede hacer un bucle con varias columnas de una tabla? cor.test()

de O Ka -
Número de respuestas: 0
Muchas Gracias Jose Luís... Yo me he encontrado con la función simple cor().

El comando corr.test () que mencionas tiene más opciones ajustar que el cor (), y por la tanto mejor.

Si es que uno se calienta la cabeza y ya hay otros que pensaron lo mismo.
Bueno dejo a los demás parte del script que encontré del cual las variables correlacionadas las muestra en un gráfico de elipses y luego un cluster. Por si hay alguien que lo necesite.


#Instalar paquetes

#install.packages('ellipse')

#install.packages('plotcorr')


#Leer tabla


cl1<-read.table("*.csv",header=T,sep=",")

cl1[,5:24]->cl2

 

#Matriz de correlacion

cor(cl2)-> cl3

library(ellipse)


#Colores del gráfico

colors <- c("#A50F15","#DE2D26","#FB6A4A","#FCAE91","#FEE5D9","white", "#FEE5D9","#FCAE91","#FB6A4A","#DE2D26","#A50F15")


#dibuja el gráfico

pdf("correlacion_ellipse.pdf", width=11.5, height=8)

plotcorr(cl4, col=colors[5*cl4 + 6], type="upper")

dev.off()


#matriz de distancias y cluster

#pasamos la matriz de correlación a matriz de distancias, quitando los signos

cl5<-abs(as.dist(cl4))


#cluster, restando a uno para convertir en distancias

pdf("arbol_correlacion.pdf", width=11.5, height=8)

plot(hclust(1-cl5))

dev.off()