我与所有数值的data.frame
运行cor()
和我得到这个作为结果:cor只显示NA或1的相关性 - 为什么?
price exprice...
price 1 NA
exprice NA 1
...
所以它要么1
或NA
在结果表中的每个值。为什么NA
显示出来而不是有效的相关性?
我与所有数值的data.frame
运行cor()
和我得到这个作为结果:cor只显示NA或1的相关性 - 为什么?
price exprice...
price 1 NA
exprice NA 1
...
所以它要么1
或NA
在结果表中的每个值。为什么NA
显示出来而不是有效的相关性?
1
这是因为一切都与自己完全相关,而NA
是因为变量中有NA
s。
您将不得不指定R如何在缺少值时计算相关性,因为缺省值仅计算具有完整信息的系数。
有关详细信息,您可以使用use
参数更改此行为为cor
,请参阅?cor
。
如果存在具有零方差的属性(所有元素相等),则也会出现NA。例如参见:
cor(cbind(a=runif(10),b=rep(1,10)))
返回:
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
告诉相关忽略来港与use
参数,如:
cor(data$price, data$exprice, use = "complete.obs")
由于NA居然能有2个原因。一个是你的数据中有一个NA。另一个原因是其中一个值是不变的。这导致标准偏差等于零,因此cor函数返回NA。
很简单,正确的答案
告诉相关性与使用的说法忽略港定居,例如:
cor(data$price, data$exprice, use = "complete.obs")
我得到了这个问题。这在数学上似乎是可以理解的,即相关性是从方差计算的,因此NA是零方差。但逻辑上,即使方差为零,这两个元素仍然相关。没有?例如,我试图查看每天的销售量与温度的相关性,并且对于某些项目有单个销售。因此零差异。但NA似乎在逻辑上是错误的。 – urwaCFC 2017-10-20 14:03:19