Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
哪个肯德尔';stats::cor()使用的是s tau吗?_R_Statistics_Correlation - Fatal编程技术网

哪个肯德尔';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
,那就太好了。