eta平方-R中的kruskal wallis-不同的结果

问题描述

Tomczak and Tomczak's (2014)公式,使用以下代码来计算Kruskal-Wallis H检验的eta平方:

x <- Data$text
H <- unname(kruskal.test(x ~ Data$group)$statistic)
n <- sum(table(x,Data$group))
k <- unname(res$parameter)+1

eta_squared <- (H-k+1)/(n - k)
print(eta_squared)

出于可重复性目的,以下是数据:

x <- c(2,2,3,4,5,6,7,8,9,10,11,13,12,19,23,26,30,14,16,24,43,46)


group1 <- rep("group1",21)
group2 <- rep("group2",9)
group3 <- rep("group3",7)


df <- data.frame(group = c(group1,group2,group3),result = c(x))

但是,将结果与rstatix软件包的结果进行比较时,有时会得出不同的结果,因此我不确定应该报告哪个结果。我查看了源代码,但看不出有什么区别。差异的根源是什么?

library(rstatix)
kruskal_effsize(
  Data,x ~ group,ci = FALSE,conf.level = 0.95,ci.type = "perc",nboot = 1000
)

解决方法

我没有得到您的结果。首先修改您的初始代码以使用df:

res <- kruskal.test(result~group,df)
H <- unname(res$statistic)
n <- sum(table(df$result,df$group))
k <- unname(res$parameter)+1
(eta_squared <- (H-k+1)/(n - k))
# [1] 0.5812849

现在进行其他计算:

kruskal_effsize(df,x ~ group,ci = FALSE,conf.level = 0.95,ci.type = "perc",nboot = 1000)
# A tibble: 1 x 5
#   .y.       n effsize method  magnitude
# * <chr> <int>   <dbl> <chr>   <ord>    
# 1 x        37   0.581 eta2[H] large