哪个肯德尔';stats::cor()使用的是s tau吗?
哪个肯德尔';stats::cor()使用的是s tau吗?,r,statistics,correlation,R,Statistics,Correlation,stats:cor()提供了“kendall”作为计算相关系数的方法。 肯德尔的Tau实际上有a(不调整秩关系)、b(调整秩关系)和*c**(适合矩形而不是方形表格) stats:cor()使用哪一个 (奖励:是否有一个软件包允许所有这三种情况?似乎没有提供这些选择。)cor(x,y,method=“kendall”)计算kendall的tau-b(针对领带进行调整) 大多数可用的软件包(例如cor()、Kendall())都计算Kendall的tau-b。肯德尔的τ-a和τ-b之间的差异本质上
stats:cor()
提供了“kendall”
作为计算相关系数的方法。
肯德尔的Tau实际上有a(不调整秩关系)、b(调整秩关系)和*c**(适合矩形而不是方形表格)
stats:cor()
使用哪一个
(奖励:是否有一个软件包允许所有这三种情况?似乎没有提供这些选择。)cor(x,y,method=“kendall”)计算kendall的tau-b(针对领带进行调整)
大多数可用的软件包(例如cor()、Kendall())都计算Kendall的tau-b。肯德尔的τ-a和τ-b之间的差异本质上是分母。具体而言,对于Kendall的tau-a,分母D=n*(n-1)/2是固定的,而对于Kendall的tau-b,分母D=sqrt(Var1的对数不包括捆绑对)*sqrt(Var2的对数不包括捆绑对)。tua-b的值通常大于tau-a。我认为肯德尔的tau-c很少被使用
我没有看到Kendall的tau-a的任何包,但在R中实现并不困难。有点晚,但这里有一个比较:
> 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
>设置种子(1)
>n x1 x2
>abc名称(abc)abc
tau-a tau-b tau-c
-0.08947368 -0.11486749 -0.11333333
>
>cor(x1,x2,方法='kendall')
[1] -0.1148675
>pcaPP::cor.fk(x1,x2)
[1] -0.1148675
因此,似乎
stats:cor
函数和方法='kendall'
计算tau-b系数。我知道有一个非常类似的问题,尽管对答案和评论的仔细研究表明,在cor()中是否实现tau a或tau b存在分歧。您需要从CRAN下载R的源代码,然后在stats目录中查找cov.c。我不读C,所以我不能回答这个问题,但这似乎是计算的地方。谢谢@BryanHanson–这里也是:我不懂C。这个问题特别涉及到CRAN的Q方法包。如果有人能够添加一个新标签qmethod
,那就太好了。