哪个Kendall的tau使用stats :: cor()?

时间:2015-03-19 10:37:41

标签: r statistics correlation

stats:cor()提供"kendall"作为计算相关系数的方法。 肯德尔的 Tau 实际上是three variants a (没有排名关系的调整), b (根据排名关系调整) )和* c **(适用于矩形而不是方形表)。

stats:cor()使用哪一个?

(额外奖励:是否有一个允许所有三个的套餐?Kendall似乎没有提供这些选择。)

2 个答案:

答案 0 :(得分:1)

cor(x,y,method =“kendall”)计算肯德尔的tau-b(根据关系进行调整)。

大多数可用的软件包(例如cor(),Kendall())都计算Kendall的tau-b。肯德尔的tau-a和tau-b之间的差异基本上是分母。具体来说,对于Kendall的tau-a,分母D = n *(n-1)/ 2,这是固定的,而对于Kendall的tau-b,分母D = sqrt(No。对Var1除了绑定对)* sqrt (不包括绑定对的Var2对号)。 tua-b的值通常大于tau-a。我认为Kendall的tau-c很少使用。

我没有看到Kendall的tau-a的任何软件包,但是在R中实现并不难。

答案 1 :(得分:1)

有点晚了,但这是一个比较:

> set.seed(1)
> n <- 20
> x1 <- sample(1:4, n, replace = T)
> x2 <- sample(1:4, n, replace = T)
> 
> abc <- c(DescTools::KendallTauA(x1,x2),
+          DescTools::KendallTauB(x1,x2),
+          DescTools::StuartTauC(x1,x2)) 
> names(abc) <- c('tau-a','tau-b','tau-c')
> abc
      tau-a       tau-b       tau-c 
-0.08947368 -0.11486749 -0.11333333 
> 
> cor(x1,x2, method = 'kendall')
[1] -0.1148675
> pcaPP::cor.fk(x1,x2)
[1] -0.1148675

因此,似乎stats:cor函数与method='kendall'一起计算出tau-b系数。