我目前正在尝试使用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)进行比较
所以我的问题:
结果我是否准确?
我首先应该使用Spearman Rank Correlation吗?
谢谢!
答案 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个值。
所以 - 在数学上可以计算,但它在描述分布时并不是很有用。