如何使用误差线和 p 值绘制每天的治疗平均值?
Posted
技术标签:
【中文标题】如何使用误差线和 p 值绘制每天的治疗平均值?【英文标题】:How to plot treatment means per day with error bars and p values? 【发布时间】:2021-11-25 20:10:00 【问题描述】:所以我有在第 0 天、第 15 天和实验结束时 (WEAN) 收集的数据。这些是两次处理之间的动物体重。它是这样的:
PIG TRT DAY0 DAY15 WEAN
1 SOY 1.48 5.22 8.35
2 SOY 1.44 5.07 7.76
3 SOY 1.66 5.30 9.46
4 LIN 1.94 5.91 10.10
5 LIN 1.54 4.96 9.01
6 LIN 1.68 5.56 9.52
它总共由 61 头猪组成。使用 ggplot2 或 ggpubr,我如何执行统计数据并使用 x = 体重收集天数和 y = 权重在单线图中绘制处理均值,并带有误差线和 p 值?
感谢您的帮助!
【问题讨论】:
到目前为止你尝试了什么? 因为我正在将分析从 SAS 转移到 R Studio。但是现在,我有了平均值、平均值的标准误差和 p 值。我在想我是否可以用 R 做同样的分析,然后用 ggplot 或 ggpubr 绘制它们。但我不知道如何操作这些数据并在不同的时间点绘制它们。我试过这个,但这只是一个时间点,我不知道如何组合它们。ggplot(df2, aes(x=time, y=pigletweightkg, group=treatment)) + geom_line(aes(linetype=treatment, color=treatment))+ geom_point(aes(color=treatment))+ theme(legend.position="right")
【参考方案1】:
对于您的样本数据,我认为您的目的是绘制每个处理和日期的每头猪的平均值。你可以试试
library(tidyverse)
dummy %>%
select(-PIG) %>%
melt() %>%
group_by(TRT, variable) %>%
summarise(mean = mean(value),
sd = sd(value),
upper = mean + 1.96 * sd,
lower = mean - 1.96 * sd) %>%
ungroup %>%
ggplot(aes(variable, mean, color = TRT, group = TRT)) +
geom_line() + geom_point() + geom_errorbar(aes(ymin = lower, ymax = upper, width = 0.2), position = ) +
xlab("date") + ylab("mean of pig's weights")
【讨论】:
以上是关于如何使用误差线和 p 值绘制每天的治疗平均值?的主要内容,如果未能解决你的问题,请参考以下文章