【发布时间】:2019-05-21 22:19:44
【问题描述】:
我有一堆关于人们接触细菌最多 5 次的数据。我正在比较戴手套和不戴手套的拾取量。我想通过因子 NumberContacts 绘制平均值并将其涂成红色。例如。下图中的红点。
到目前为止我有:
require(tidyverse)
require(reshape2)
制作一些数据
df<-data.frame(Yes=rnorm(n=100),
No=rnorm(n=100),
NumberContacts=factor(rep(1:5, each=20)))
计算每个组的平均值= NumberContacts
centroids<-aggregate(data=melt(df,id.vars ="NumberContacts"),value~NumberContacts+variable,mean)
将它们分成两列
centYes<-subset(centroids, variable=="Yes",select=c("NumberContacts","value"))
centNo<-subset(centroids, variable=="No",select="value")
centroids<-cbind(centYes,centNo)
colnames(centroids)<-c("NumberContacts","Gloved","Ungloved")
制作一个丑陋的情节。
ggplot(df,aes(x=gloves,y=ungloved)+
geom_point()+
geom_abline(slope=1,linetype=2)+
stat_ellipse(type="norm",linetype=2,level=0.975)+
geom_point(data=centroids,size=5,color='red')+
#stat_summary(fun.y="mean",colour="red")+ doesn't work
facet_wrap(~NumberContacts,nrow=2)+
theme_classic()
有没有更优雅的方式使用 stat_summary?另外,如何更改图表顶部框的外观?
【问题讨论】: