Closed PaulaMorBla14 closed 2 years ago
El error te indica dónde está el problema. Si un vector de tu matriz x
tiene el mismo valor en todos sus elementos, no es posible calcular la correlación. Si miras la fórmula para el coeficiente de correlación de Pearson, verás que las desviaciones típicas están en el denominador y por lo tanto si alguna es cero no puede calcularse.
x <- c(0, 0, 0)
y <- c(0, 1, 1)
z <- c(1, 0, 1)
m <- matrix(c(x, y, z), nrow = 3)
cor(m)
[,1] [,2] [,3]
[1,] 1 NA NA
[2,] NA 1.0 -0.5
[3,] NA -0.5 1.0
Warning message:
In cor(m) : the standard deviation is zero
Puedes calcular la desviación típica para cada columna de x
y ver cuales tienen desviación 0.
apply(m, 2, sd)
[1] 0.0000000 0.5773503 0.5773503
Me aparece un warning diciendo:
In cor(x) : the standard deviation is zero
https://github.com/PaulaMorBla14/TFG-Baloncesto/blob/9f86d010b14c2c251e5dafad4a37e119f524de77/TFG_MetodosEstadisticosBaloncesto.Rnw#L588