肯德尔tau-c在R中的P值

时间:2018-08-19 14:29:37

标签: r statistics

我想知道如何为Kendall的tau-c计算p值。 R中DescTools包中的StuartTauC函数可以计算Kendall的tau-c及其置信区间,但不会产生p值。有人可以帮我吗?

v1<-c(2,3,4,2,3,1,4,2,2,2,2,3,2,2,4,1,4,0,2,4,2,4,2,0,3,4,2,1,0,3,1,3,2,3,3,4,4,1,2,1,4,3,4,3,3,3,2,1,3,4,1,2,1,0,2,2,2,2,3,1,1,1,3,2,3,3)
v2<-c(15,21,58,10,32,11,48,19,17,27,3,41,16,34,5,8,29,10,13,20,31,33,8,2,29,11,9,11,11,11,2,10,21,37,3,13,15,17,11,18,7,14,17,2,20,18,22,2,42,14,15,17,31,24,11,19,7,6,31,16,17,23,22,10,15,24)

StuartTauC output

2 个答案:

答案 0 :(得分:0)

有两种获取p值的可能性。

首先,如果您的n小于10,则应该假设tau的确切分布,前提是假设因素(零假设)之间没有差异,并获得p值。

对于更大的n值,您可以使用正态分布(假设相同的零假设)进行近似,其渐近方差等于(请参见第1739页的here)。

如果您添加代码,也许我可以为您提供更多帮助。

aded

如果您想要一个p值,并假设您正在测试tau_c等于0,而tau_c等于0,则可以执行以下操作:

v1<-c(2,3,4,2,3,1,4,2,2,2,2,3,2,2,4,1,4,0,2,4,2,4,2,0,3,4,2,1,0,3,1,3,2,3,3,4,4,1,2,1,4,3,4,3,3,3,2,1,3,4,1,2,1,0,2,2,2,2,3,1,1,1,3,2,3,3)
v2<-c(15,21,58,10,32,11,48,19,17,27,3,41,16,34,5,8,29,10,13,20,31,33,8,2,29,11,9,11,11,11,2,10,21,37,3,13,15,17,11,18,7,14,17,2,20,18,22,2,42,14,15,17,31,24,11,19,7,6,31,16,17,23,22,10,15,24)
tauc_value <- StuartTauC(v1,v2,conf.level = 0.95)
# where the standar error will be aproximately equal to:
s_e <- (tauc_value[3] - tauc_value[1])/1.96 # (Upper bound - tauc)/1.96
# so the p-value will be:
2*pnorm(tauc_value[1],mean=0,sd=s_e,lower.tail = FALSE)

这将给我们:

0.03134354

因此,根据证据,如果我们使用5%的显着性水平,将拒绝原假设。

答案 1 :(得分:0)

计算 StuartTauC 的 p 值的公式假设相关性为正。为了在负相关的情况下也产生正确的 p 值,应使用 tauc_value 的绝对值。因此:

p_value <- 2*pnorm(abs(tauc_value[1]),mean=0,sd=s_e,lower.tail = FALSE)