在R中是否有限制范围相关性的包/命令?



Dput for data frame:

structure(list(aptitude = c(78, 85, 69, 80, 60, 72, 77, 65, 70, 
80, 75, 83, 81, 65, 77, 76, 64, 68, 74, 85, 83, 80, 62, 69, 66, 
75, 68, 70), performance = c(74, 59, 59, 60, 55, 62, 59, 64, 
50, 64, 60, 59, 51, 64, 58, 49, 43, 62, 49, 59, 59, 60, 43, 62, 
49, 64, 38, 74)), class = "data.frame", row.names = c(NA, -28L
))

我有这个数据集上运行相关使用以下命令:> 而,aptitude变量的截断值为60,也就是说,aptitude的最小值为60,不可能有低于该值的分数。在这种情况下,我正试图纠正相关性,以某种方式包括这一点。

我试着在R中寻找具有此范围限制的包/命令,但我发现任何与此匹配的东西都存在问题。RDocumentation列出了rCCr和rangeCorrection,但从我能收集到的信息来看,它们似乎不再可用了。

任何帮助将是伟大的!

在计算相关系数时,数据分布无关紧要。如果一个样本分布在[0,100],而另一个样本分布在[0,inf]或[100,200],或其他范围内,这不会影响系数。

也许用一个例子来演示会更容易,一些虚构的数据。Y和X都在[1,100]范围内。

y=rnorm(100)+seq(1,100,1)
x=rnorm(100)+seq(1,100,1)
plot(y~x)
cor(y,x)
[1] 0.9988158

关系是非常线性的,具有非常高的Pearson相关性。现在尝试转换其中一个变量,例如Y,使其范围从[100,200],同时保持另一个不变。

cor(y+100,x)
[1] 0.9988158

,这都没有区别。为什么?因为您只是向随机变量添加一个常数,它不会影响该变量的方差,即Var(a+Y) = Var(Y),这就是您在估计相关系数时使用的方法。

相关内容

  • 没有找到相关文章

最新更新