如何解决Wilcoxon 签名等级测试用于重绑定数据
我在对高度相关的数据进行 Wilcoxon 检验分析时遇到问题。我在下面尽可能地概述了我的问题,我如何尝试解决它,以及我的问题。如果有人能给我任何建议,我将不胜感激。
我的问题 我正在处理一个数据集,我需要在用于组分配的度量上比较三个组。当我运行单向方差分析时,既不满足(1)残差正态性假设,也不满足(2)残差方差同质性假设。
因此,我使用 Wilcoxon 检验在 r 中使用以下代码进行两两比较(一个比较的示例,默认为两侧备择假设):
measure ~ group,data= myreduceddataset,na.rm=TRUE,paired=FALSE,exact=TRUE,conf.int=TRUE
然而,我的分析结果看起来很奇怪(screenshot of example here),并且每次比较都放弃错误(下面复制了一个示例):
警告信息: 1:在 wilcox.test.default(x = c(2,1,2,: 无法使用关系计算精确的 p 值 2:在 wilcox.test.default(x = c(2,: 无法计算有关系的确切置信区间
检查数据 然后我检查了数据并查看了数据在 R 中的排列方式以试图找出错误。看起来,尽管始终存在一些并列的排名,但主要问题是第 1 组 here is some example raw and ranked data by group
中 0 值的数量我找到的解决方案,以及由此引发的问题 通过阅读,似乎解决这个问题的方法是使用 R 中“Coin”包中的测试。
我试过了,here is an example of my output。然而,我仍然不完全清楚这是否正确,我在下面概述了一些我仍然存在的问题。
- 我不确定渐近检验还是精确检验更适合此数据集(输出似乎相同)
- 我假设我应该使用 coin::wilcox_test() 而不是 coin::wilcoxsign_test(),因为我正在比较来自独立组的样本。这是正确的吗?
- 如果我理解正确,“Z”值就是效果大小。如何推导出 W 统计量?或者我可以只报告效果大小吗?
- 我不确定如何更正此输出以进行多重比较
如果有帮助,我很乐意提供更多细节。非常感谢。
更新:此处的模拟数据(相同组均值和 SD):
structure(list(measure = c(9,15,6,7,8,12,5,14,9,13,11,16,3,21,4,10,0),group = structure(c(3L,3L,2L,1L,1L),.Label = c("1","2","3"
),class = "factor")),row.names = c(NA,-122L),class = "data.frame")
解决方法
您需要的是 Kruskal-Wallis-Test。方差分析的非参数项。
编辑:
library(dplyr)
library((ggpubr)
# group as factor
df$group <- as.factor(df$group)
# check for levels
levels(df$group)
# summarise with dplyr
group_by(df,group) %>%
summarise(
count = n(),mean = mean(measure,na.rm = TRUE),sd = sd(measure,median = median(measure,IQR = IQR(measure,na.rm = TRUE)
)
# Box Plot measure by group and color by group
library("ggpubr")
ggboxplot(df,x = "group",y = "measure",color = "group",palette = c("#00AFBB","#E7B800","#FC4E07"),order = c("1","2","3"),ylab = "measure",xlab = "group")
# Mean Plot measure by group and color by group)
ggline(df,add = c("mean_se","jitter"),xlab = "group")
# kruskal test
kruskal.test(measure ~ group,data = df)
## output Kruskal-Wallis rank sum test
## data: measure by group
## Kruskal-Wallis chi-squared = 92.593,df = 2,p-value < 2.2e-16
### interpretation: There is a significant difference in the group means of group 1,2,3
# pairwise comparisons between group levels
pairwise.wilcox.test(df$measure,df$group,p.adjust.method = "bonferroni")
## output: Pairwise comparisons using Wilcoxon rank sum test with continuity correction
#data: df$measure and df$group
# 1 2
# 2 4.2e-16 -
# 3 6.9e-16 0.013
# interpretation: The difference is significant between each group
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。