我想在我的 geom_col ggplot 中添加误差线。误差线确实添加到我的情节中,但误差线不正确。有人可以帮我弄清楚如何调整我的代码吗?我认为y值是错误的。它可能不应该是长度,而是我的数据框中“数字”的实际值。如果这是一个非常简单的问题,我深表歉意,我是 R 的新手。提前谢谢你。
number_of_sprout <- data.frame(
Condition = c("RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "RBP7 KO", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl", "Ctrl"),
Number = c(8, 11, 11, 17, 18, 13, 16, 4, 11, 9, 12, 11, 15, 11, 17, 8, 18, 9, 7, 11, 11, 12, 8, 12, 6, 8, 10, 19, 9, 14, 7, 9, 12, 11, 8, 12, 6, 8, 10, 8, 11, 11, 10, 7, 6, 6, 6, 9, 11, 10, 11, 12, 8, 14, 7, 8, 11, 9, 9, 12, 10, 7, 13, 17, 15, 9, 14, 11, 11, 8, 14, 13, 7, 8, 6, 7, 9, 7, 10, 7),
timepoint = c(24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48)
)
sph1 <- ggplot(data = number_of_sprout, aes(x = factor(timepoint, ordered = TRUE), y=Number, fill = Condition)) +
stat_summary(fun = mean, geom = "col", position = position_dodge()) +
scale_fill_manual(values = c("slategray4", "thistle3")) +
geom_point(position = position_dodge(width = 0.9)) +
labs(x = "Hours", y = "Number of sprouts") +
theme_classic() +
ggtitle("Spheroids - Donor 37") +
theme_bw() +
theme(text=element_text(family="Times New Roman", face="bold")) +
theme(aspect.ratio = 1.5/1)
se5 <- function(y) sd(y)/length(y) # to calculate standard error in the mean
sph1+stat_summary(geom="errorbar",position=position_dodge(width=0.9),
fun.data=function(y)c(ymin=mean(y)-se5(y),ymax=mean(y)+se5(y)), width=0.2)