gpt4 book ai didi

r - 如何在 Kruskal Wallis 事后检验后获得显着性代码

转载 作者:行者123 更新时间:2023-12-03 22:13:57 26 4
gpt4 key购买 nike

在与 Kruskall wallis 检验进行成对比较后,有没有办法获得显着性代码?对于显着性代码,我指的是分配给总体以指示差异显着的字母代码。

使用传统的方差分析可以使用 HSD.test 执行此类测试。来自 agricolae库,但对于 anova 的非参数对应物,我找不到任何东西。

一个小玩具示例:

dv  <-  c(runif(100, 5.0, 10))
iv <- as.factor( c(rep("I", 10), rep("II", 10), rep("III", 10), rep("IV", 10), rep("V", 10),
rep("VI", 10), rep("VII", 10), rep("VIII", 10), rep("IX", 10), rep("X", 10)))

df <- data.frame(dv, iv)

# with anova
library(agricolae)
aov.000 <- aov(dv ~ iv, data=df)
HSD.test(aov.000, "iv")

# after KW test:
(kt <- kruskal.test(dv ~ iv, data=df))

library(coin)
library(multcomp)
NDWD <- oneway_test(dv ~ iv, data = df,
ytrafo = function(data) trafo(data, numeric_trafo = rank),
xtrafo = function(data) trafo(data, factor_trafo = function(x)
model.matrix(~x - 1) %*% t(contrMat(table(x), "Tukey"))),
teststat = "max", distribution = approximate(B=1000))

### global p-value
print(pvalue(NDWD))

### sites (I = II) != (III = IV) at alpha = 0.01 (page 244)
print(pvalue(NDWD, method = "single-step"))

最佳答案

因为它可能对其他人有用,以下似乎有效(使用 multcompView 库):

library(multcompView)
mat <- data.frame(print(pvalue(NDWD, method = "single-step")))
(a <- c(mat[, 1])); names(a) <- rownames(mat)
multcompLetters(a)

或者,以下将起作用:
test  <-  pairwise.wilcox.test(dv, iv, p.adj="bonferroni", exact=FALSE)
# test <- pairwise.wilcox.test(et.ef, s.t, p.adj="holm", exact=FALSE)

library(multcompView)
test$p.value
library(reshape)
(a <- melt(test$p.value))
a.cc <- na.omit(a)
a.pvals <- a.cc[, 3]
names(a.pvals) <- paste(a.cc[, 1], a.cc[, 2], sep="-")
a.pvals
multcompLetters(a.pvals)

关于r - 如何在 Kruskal Wallis 事后检验后获得显着性代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16923050/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com