我有来自三剂治疗的数据,每剂重复三次:
df <- data.frame(dose=c(rep(1,300),rep(3,300),rep(5,300)),
replicate=rep(c(rep("X1",100),rep("X2",100),rep("X3",100)),3),
value=c(rnorm(300,1,1),rnorm(300,3,1),rnorm(300,5,1)),stringsAsFactors=F)
df$dose <- factor(df$dose,levels=c(1,3,5))
我想使用 cdf 图显示它。对于每个重复,我可以简单地绘制三个剂量的 cdfs:
for(r in c("X1","X2","X3")){
ggplot(dplyr::filter(df,replicate==r),aes(x=value,color=dose))+
stat_ecdf(geom="step")+
theme_bw()+
theme(panel.border=element_blank(),strip.background=element_blank())
}
但我正在寻找一种在一个图中显示每个剂量的所有复制品的方法,标准误差在平均值周围有阴影,类似于用stat_smooth
.
这可以实现吗?
此外,对于这个或单个复制的情节:
r <- "X1"
ggplot(dplyr::filter(df,replicate==r),aes(x=value,color=dose))+
stat_ecdf(geom="step")+
theme_bw()+
theme(panel.border=element_blank(),strip.background=element_blank())
有没有办法计算每个 ecdfs 下的面积?