【发布时间】:2021-09-22 01:52:33
【问题描述】:
我想使用 ggplot2 在单个图中创建一个箱线图 + 线图
这是我现在的代码:
library(ggplot2)
dat <- data.frame(day = c(0,0,0,0,0,0,10,10,10,10,10,10,14,14,14,14,14,14,21,21,21,21,21,21,28,28,28,28,28,28,35,35,35,35,35,35,42,42,42,42,42,42), group = c('Saline','RP','Saline','Saline','RP','RP','Saline','RP','Saline','Saline','RP','RP','Saline','RP','Saline','Saline','RP','RP','Saline','RP','Saline','Saline','RP','RP','Saline','RP','Saline','Saline','RP','RP','Saline','RP','Saline','Saline','RP','RP','Saline','RP','Saline','Saline','RP','RP'), score = c(37.5,43,7,63,26,15,17,16,43,26,53,26,26,26,43,10,6,15,18,9,10,4,8,18,60,26,20,12.5,9,43,43,43,11,10,7,60,43,43,32,10.5,8,57.5))
g1 = ggplot(data = dat, aes(x = factor(day), y = score)) +
geom_boxplot(aes(fill = group))
g1
在做箱线图时,我想分别表示不同治疗(组)的分数,所以我让 x = 因子(天)。 但是对于线图,我希望每天的得分是当天两次治疗(组)的平均值。
This is how my plot look like now
This is how I want my plot to look
我该怎么做?非常感谢!
【问题讨论】:
-
请编辑您的问题以将数据包含为代码。不要指望人们从您的图像中逐个单元格地在 R 中创建数据框。
-
例如:
dat <- data.frame(day = c(1,2,3), group = c(4,5,6)) -
嗨,欢迎@Jason 堆栈溢出。似乎在这里回答了一个类似的问题:stackoverflow.com/questions/26039119/…。解决方案可能类似于
stat_summary(aes(group=1), fun.y=mean, colour="red", geom="line",group=1)