Para los datos numéricos, usted tiene la solución. Pero es información categórica, dijiste. Entonces la vida se vuelve un poco más complicada ...
Bueno, primero: la cantidad de asociación entre dos variables categóricas no se mide con una correlación de rango Spearman, pero con una prueba Chi-cuadrado, por ejemplo. Que es la lógica en realidad. Clasificación significa que hay algún orden en sus datos. Ahora dime, ¿cuál es más grande, amarillo o rojo? Lo sé, a veces R realiza una correlación de rango de Spearman en datos categóricos. Si codigo amarillo 1 y rojo 2, R consideraría rojo más grande que amarillo.
Así que olvídate de Spearman para obtener datos categóricos. Demostraré el chisq-test y cómo elegir columnas usando combn(). Pero usted se beneficiaría de un poco más de tiempo con el libro de Agresti: http://www.amazon.com/Categorical-Analysis-Wiley-Probability-Statistics/dp/0471360937
set.seed(1234)
X <- rep(c("A","B"),20)
Y <- sample(c("C","D"),40,replace=T)
table(X,Y)
chisq.test(table(X,Y),correct=F)
# I don't use Yates continuity correction
#Let's make a matrix with tons of columns
Data <- as.data.frame(
matrix(
sample(letters[1:3],2000,replace=T),
ncol=25
)
)
# You want to select which columns to use
columns <- c(3,7,11,24)
vars <- names(Data)[columns]
# say you need to know which ones are associated with each other.
out <- apply(combn(columns,2),2,function(x){
chisq.test(table(Data[,x[1]],Data[,x[2]]),correct=F)$p.value
})
out <- cbind(as.data.frame(t(combn(vars,2))),out)
entonces usted debe conseguir:
> out
V1 V2 out
1 V3 V7 0.8116733
2 V3 V11 0.1096903
3 V3 V24 0.1653670
4 V7 V11 0.3629871
5 V7 V24 0.4947797
6 V11 V24 0.7259321
Donde V1 y V2 indican entre las variables que se va, y "fuera" da el valor de p para la asociación. Aquí todas las variables son independientes. Lo que cabría esperar, ya que creé los datos al azar.
si realmente sólo quiere hacer la correlación en las columnas 1, 3 y 10, siempre se puede hacer 'COR (x [c (1, 3, 10)])' – Greg
Lo sentimos, esto es para datos numéricos, no no numéricos. Lo dejo por si acaso. – Greg
contento de que lo dejaste, Greg. Ya ayudaste a alguien, ya me ayudó a buscar sapply de otra manera creativa :) –