Foro de debate

Matriz coeficientes de correlación

 
Imagen de Juan Ruiz
Matriz coeficientes de correlación
de Juan Ruiz - miércoles, 21 de agosto de 2019, 02:35
 

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

Imagen de Manuel Muñoz Márquez
Re: Matriz coeficientes de correlación
de Manuel Muñoz Márquez - miércoles, 21 de agosto de 2019, 09:25
 

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.

Imagen de Juan Ruiz
Re: Matriz coeficientes de correlación
de Juan Ruiz - miércoles, 21 de agosto de 2019, 15:01
 

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.

Imagen de Manuel Muñoz Márquez
Re: Matriz coeficientes de correlación
de Manuel Muñoz Márquez - miércoles, 21 de agosto de 2019, 15:47
 

Buenas:

La función cor aplicada a una matriz con variables por columna da la matriz que quieres directamente.

Un saludo