spettacoli cor solo NA o 1 per correlazioni - Perché?
-
05-10-2019 - |
Domanda
Io corro cor()
su un data.frame
with tutti i valori numerici e sto ricevendo questo come il risultato:
price exprice...
price 1 NA
exprice NA 1
...
Quindi è sia 1
o NA
per ogni valore nella tabella risultante. Perché i NA
s rivelando invece di correlazioni validi?
Soluzione
I 1
s sono perché tutto è perfettamente correlato con se stesso, ei NA
s sono perché ci sono NA
s nelle variabili.
Si dovrà specificare come si desidera R per calcolare la correlazione quando ci sono valori mancanti, perché il valore predefinito è quello di calcolare solo un coefficiente di informazioni complete.
È possibile modificare questo comportamento con l'argomento use
per cor
, vedere ?cor
per i dettagli.
Altri suggerimenti
Segnala la correlazione di ignorare le AN con argomento use
, per esempio:.
cor(data$price, data$exprice, use = "complete.obs")
AN appaiono anche se ci sono attributi da zero varianza (con tutti gli elementi uguali); si veda ad esempio:
cor(cbind(a=runif(10),b=rep(1,10)))
che ritorna:
a b
a 1 NA
b NA 1
Warning message:
In cor(cbind(a = runif(10), b = rep(1, 10))) :
the standard deviation is zero
molto semplice e risposta corretta ??p>
Segnala la correlazione di ignorare le AN con uso argomento, per esempio:.
cor(data$price, data$exprice, use = "complete.obs")
Il NA può effettivamente essere a causa di 2 motivi. Uno è che c'è un NA nei dati. Un altro è causato dal fatto che uno dei valori essendo costante. Questo provoca la deviazione standard essendo pari a zero e quindi la funzione cor ritorni NA.