Domanda

Io corro cor() su un data.framewith 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 NAs rivelando invece di correlazioni validi?

È stato utile?

Soluzione

I 1s sono perché tutto è perfettamente correlato con se stesso, ei NAs sono perché ci sono NAs 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

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top