Buenas tardes. Quería saber cómo crear una matriz que contenga los coeficientes de correlación de Pearson entre las diversas filas de otra matriz que ya tengo previamente. Es decir:
Tengo una matriz de (por ejemplo) 5 filas, y quiero una segunda matriz de dimensión 5x5 donde el hueco [1,2] es el coeficiente de correlación entre la fila 1 y la 2 de la primera, el hueco [1,3] es el coeficiente de las filas 1 y 3, y así sucesivamente.
Si no me equivoco hay alguna manera de decirle al programa que identifique el valor de una determinada fila o columna como vector (he leído que empleando [i,] o [,j], pero he probado y no lo consigo). Si esto fuese posible, ya estaría todo resuelto.
Muchas gracias
Buenas:
En R las variables se manejan por columnas. Puedes trasponer la matriz con la función t.
La función cor calcula la matriz de correlaciones entre las columnas de la matriz dada.
Con respecto a lo último, no entiendo la pregunta. Si te refieres a quedarte con una fila de una matrix, pues sí, si m es una matriz, entonces m[3,] es un vector cuyos elementos son la fila 3 de la matriz m.
Un saludo.
Cómo se calcula el coeficiente de correlación ya lo sabía de antes. Lo que no se es cómo decirle al programa "quiero que la casilla (i,j) de la matriz M sea igual al coeficiente de correlación entre las filas i y j de la matriz N".
Es algo que se podría hacer programando casilla a casilla pero busco un remedio que no sea tan artesanal.
Buenas:
La función cor aplicada a una matriz con variables por columna da la matriz que quieres directamente.
Un saludo