如何解决无法在我的条形图上放置有效值的正确顺序emmeans_test重排因子
我正在使用rstatix
进行单因素方差分析,并希望在我的绘图上放置显着的成对测试值(使用emmeans_test
)。
但是,emmeans_test
的输出重新排列了我的因子。因此,重要性值没有正确地放置在右侧栏上。
以下是示例数据:
library(rstatix)
library(ggpubr)
library(dplyr)
#dataframe
ER <- read.table(header=TRUE,text="
Sex Group ER
M V 1046
M V 1290
M Z 1202
M Z 1056
F V 8000
F V 7859
F Z 4000
F Z 3409
")
ER <- ER %>%
set_ref_level("Sex",ref = "M") #set males as my reference
ER$Sex
以正确的顺序显示了我的因素,男性是第一位
但是,在执行emmeans_test
之后,输出会更改。也许按字母顺序?
res.aov <- ER %>% anova_test(ER ~ Sex * Group)
res.aov
pwc <- ER %>%
group_by(Sex) %>%
emmeans_test(ER ~ Group,p.adjust.method = "bonferroni") #output now has females first.
pwc
我尝试指定顺序,以我希望在情节中的顺序,先是男性,然后是女性,最后是女性+T。这样做不会改变任何事情。
pwc1 <- pwc[c(2,1),]
pwc1
#plot data
e <- ggboxplot(ER,x = "Sex",y = "ER",color = "Group",palette = "jco")
print(e)
pwc1 <- pwc1 %>% add_xy_position(x = "Sex")
e + stat_pvalue_manual(pwc1) + labs(subtitle = get_test_label(res.aov,detailed = TRUE),caption = get_pwc_label(pwc1))
我的图以正确的顺序排列(男,女),但显着性值已切换。 请让我知道我想念的东西!我一直在寻找在线修复程序已有好几天,但尝试其他尝试却无济于事。
(预先感谢您,我也是R新手,因此,如果我在上面的代码/帖子中输入了错误,我深表歉意)
解决方法
我对rstatix
和ggpubr
软件包不是很熟悉。但是,正如您自己自己弄清楚的那样,在执行emmeans_test
变量之后,Sex
变量的顺序丢失了,即,它转换为字符,因此得到了字母顺序。解决此问题的方法是将Sex
数据中的pwc
转换回一个因子,并使用ER
来设置factor(Sex,levels = levels(ER$Sex))
数据集中的水平:
library(rstatix)
library(ggpubr)
library(dplyr)
#dataframe
ER <- read.table(header=TRUE,text="
Sex Group ER
M V 1046
M V 1290
M Z 1202
M Z 1056
F V 8000
F V 7859
F Z 4000
F Z 3409
")
ER <- ER %>%
mutate(Sex = factor(Sex)) %>%
set_ref_level("Sex",ref = "M") #set males as my reference
res.aov <- ER %>%
anova_test(ER ~ Sex * Group)
#> Coefficient covariances computed by hccm()
pwc <- ER %>%
group_by(Sex) %>%
emmeans_test(ER ~ Group,p.adjust.method = "bonferroni") %>% #output now has females first.
# Set levels of Sex as in your ER dataset
mutate(Sex = factor(Sex,levels = levels(ER$Sex)))
pwc1 <- pwc[c(2,1),]
#plot data
e <- ggboxplot(ER,x = "Sex",y = "ER",color = "Group",palette = "jco")
pwc1 <- pwc1 %>% add_xy_position(x = "Sex")
e + stat_pvalue_manual(pwc1) +
labs(subtitle = get_test_label(res.aov,detailed = TRUE),caption = get_pwc_label(pwc1))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。