Spearman等级相关性低于4个观察值?

时间:2017-02-28 18:12:52

标签: r statistics correlation

我目前正在尝试使用X数据集和Y数据集运行spearman等级相关性测试,两者都包含3行(个体)。我可以使用cor()运行Spearman并获取值,所有值都是:-1,-.5,-5或1.这对我来说似乎不对..我没有任何0数据集。但是,当我使用rcorr()时,它会给我一个错误:

 Error in rcorr(BPT2, y = FunT2, type = "spearman") : 
 must have >4 observations

我将肠道细菌Phyla(我的X)与代谢读数(我的Y)进行比较

所以我的问题:

  1. 结果我是否准确?

  2. 我首先应该使用Spearman Rank Correlation吗?

  3. 谢谢!

1 个答案:

答案 0 :(得分:0)

你是对的,只有四种可能的输出。这是因为只有6种情景可以与3次观测进行排名相关。

如果我们将x常量保持为1:3,则y有6个可能的等级值(按行读取):

   Var1 Var2 Var3
1     3    2    1
2     2    3    1
3     3    1    2
4     1    3    2
5     2    1    3
6     1    2    3

计算X和Y之间的每个相关性时,只有以下可能的返回值:

apply(df, 1, function(x){cor(1:3, x)})

   1    2    3    4    5    6 
-1.0 -0.5 -0.5  0.5  0.5  1.0

由于重复了两个,因此你得到4个值。

所以 - 在数学上可以计算,但它在描述分布时并不是很有用。