LDT*_*LDT 4 r ggplot2 dplyr tidyverse
我有一个看起来像这样的数据框
presence = rep(c("yes","no"),each=3,2)
students = sample(seq(0,100,by=10), 12, replace = TRUE)
year = rep(c("2015","2016"),each=2,6)
data = data.frame(presence, students, year)
Run Code Online (Sandbox Code Playgroud)
我像这样绘制我的数据
ggplot(data, aes(as.factor(presence), students, color=factor(year))) +
geom_jitter(size=4, alpha=0.4, shape=16,position = position_jitterdodge()) +
stat_summary(
aes(color = year),
fun=mean,
fun.min = function(x) mean(x) - sd(x),
fun.max = function(x) mean(x) + sd(x),
geom = "pointrange", size = 0.4,
position = position_dodge(0.8)
) +
stat_summary(fun = mean, geom="line")
Run Code Online (Sandbox Code Playgroud)
我真正在努力做的是找到一种方法将红色的点(平均值)和蓝色的点与一条线连接起来。
除了 geom_segment 之外,还有其他方法可以让我的情节看起来像这样吗?
我想你stat_summary()
用geom="line"
and做另一个group = year
,虽然我认为阅读图表有点困难:
set.seed(12345)
presence = rep(c("yes","no"),each=3,2)
students = sample(seq(0,100,by=10), 12, replace = TRUE)
year = rep(c("2015","2016"),each=2,6)
data = data.frame(presence, students, year)
g = ggplot(data, aes(as.factor(presence), students, color=factor(year))) +
geom_jitter(size=4, alpha=0.4, shape=16,position = position_jitterdodge()) +
stat_summary(
aes(color = year),
fun=mean,
fun.min = function(x) mean(x) - sd(x),
fun.max = function(x) mean(x) + sd(x),
geom = "pointrange", size = 0.4,
position = position_dodge(0.8)
) +
stat_summary(fun = mean, geom="line")
g + stat_summary(aes(group = year),geom="line",
position=position_dodge2(0.8),fun="mean")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
66 次 |
最近记录: |