【发布时间】:2021-03-03 04:16:09
【问题描述】:
我有条形图,但想在每个“grp1”中运行 Wilcox.test,将条形与该组的对照进行比较,然后在显着时加上星号。
我已经看到“compare_means”来进行比较,但我正在尝试使其自动化而不是手动操作。 “geom_signif”或“stat_compare_means”会这样做吗?有人可以帮忙吗?非常感谢。
我需要使用完整的数据集进行比较,而不仅仅是平均值(每个柱只有一个值)。我在运行其中一个比较的代码末尾添加了一行,这样您就可以看到我需要从哪里获得 p 值。
y <- c(runif(100,0,4.5),runif(100,3,6),runif(100,4,7))
grp1 <- sample(c("A","B","C","D"),size = 300, replace = TRUE)
grp2 <- rep(c("High","Med","Contrl"),each=100)
dataset <- data.frame(y,grp1,grp2)
means <- aggregate(y~grp1+grp2,data=dataset,mean)
sd <- aggregate(y~grp1+grp2,data=dataset,function(x){sd(x)})
means.all <- merge(sd,means,by=c("grp1","grp2"))
names(means.all)[3:4] <- c("sd","y.mean")
library(ggplot2)
p<- ggplot(means.all, aes(x=grp1, y=y.mean, fill=grp2))+
geom_bar(stat="identity", color="black",
position=position_dodge()) +
geom_errorbar(aes(ymin=y.mean-sd, ymax=y.mean+sd), width=.2,
position=position_dodge(.9))
p
compare_means(y~grp2,data = dataset[dataset$grp1=="A",],method="wilcox.test")
【问题讨论】: