【发布时间】:2020-05-17 09:06:46
【问题描述】:
假设我有以下data.frame:
values<-runif(72)
factorA<-rep(c(rep('a',9),rep('b',9)),2)
criterion<-rep(rep(c(rep('1/4',3),rep('1/2',3),rep('2/3',3)),4),2)
case<-rep(c(rep('1',18),rep('2',18)),2)
samp<-rep(c('10','20','30'),24)
datasets<-c(rep('1',36),rep('2',36))
df<-data.frame(values,factorA,criterion,case,samp,datasets)
我想使用ggplot 绘制两个datasets 之间的values 的均值。如果我只考虑子集datasets='1',我想构建以下情节
library(ggplot2)
library(directlabels)
ggplot(subset(df,datasets %in% '1'),aes(x=samp,y=values,group=criterion))+
geom_line(aes(linetype = criterion),size=1)+
facet_grid(case~factorA,scales='free',space='free')+
geom_dl(aes(label = criterion),method=list(dl.combine('first.qp','last.qp')))
values 是随机获取的。
我想准确地获得这个图,但每条线代表两个datasets 之间的均值轨迹,对应的值。例如('a','1')面板中,criterion='1/4'和横坐标samp='10'线上的点必须是datasets1和2对应值的均值; criterion='1/4' 和横坐标 samp='20' 线上的点必须是 datasets 1 和 2 对应值的平均值,以此类推,对于每个面板。我怎样才能做到这一点?我尝试了stat_summary(),但没有成功...
【问题讨论】: