我正在R中运行瑞利一致性测试。我将数据帧分为3列,程度略有不同。然后,它运行测试以选择列之一时,我的结果会有所不同,具体取决于我如何选择要在测试中使用的列:[c“ Direction”]或df $ Direction。
我的df:
Direction Dir180 CorrDirection Sex Location
1 146 146 128 Female Low
2 129 129 111 Male Low
3 337 157 319 Female Low
4 130 130 112 Female Low
5 216 36 198 Female Low
6 351 171 333 Male Low
测试:
r.test(x=df2[c("Direction")],degree=T)
r.test(x=df2$Direction,degree=T)
测试结果:
> r.test(x=df2[c("Direction")],degree=T)
$r.bar
[1] 3.265616
$p.value
[1] 0.002646553
> r.test(x=df2$Direction,degree=T)
$r.bar
[1] 0.03887638
$p.value
[1] 0.880773
我想知道为什么在我看来要选择同一列进行测试时却得到不同的结果。使用两种不同方法之间的区别是什么?测试或程序对每种方法有何反应?谢谢
答案 0 :(得分:0)
问题在于,第一个是带有单列的data.frame
,第二个是向量。如果我们通过为列索引包括,
来将列提取为向量(如果是tibble,请使用[[
)。根据{{1}}
r.test(x,degree = FALSE)
x-弧度角测量的向量。
因此它期望?r.test
而不是vector
data.frame
提取library(CircStats)
r.test(x=df2[,c("Direction")],degree=TRUE)
#$r.bar
#[1] 0.2321319
#$p.value
#[1] 0.740345
的结果将与我们处理$
的结果相同
vector
r.test(x=df2$Direction,degree=T)
#$r.bar
#[1] 0.2321319
#$p.value
#[1] 0.740345