我浏览了之前的帖子以寻找答案,但是遇到了不适合我的情况的代码或没有提供示例数据的类似问题。无论如何,以下是我的一小部分数据:
长话短说,我试图在所有前任政府的平均值($Total)和最近政府的所有案例的平均值($Admin)的散点图之上绘制来自个别案例的平滑二进制字符串。通过从列表中选择一个案例,我可以使用以下代码来完成此操作:
library(ggplot2)
vars <- select.list(names(Ex),multiple=TRUE,graphics=TRUE)
Cases<-subset(Ex,select=vars)
for(i in Cases){
iplot<-ggplot(Ex,aes(x=Total,y=i))
}
iplot+geom_smooth(method=loess,size=1,colour="orange",linetype=1,fill="orange",se=T)+
geom_point(aes(y=Admin),colour="dark green",size=1.5)+ylim(0,1)+xlim(0,1)+
labs(x="Expected",y="Admin",title=vars)
例如,如果您从列表中选择案例 A,您将获得深绿色的 $Total 和 $Admin 散点图,以及橙色的案例 A 二进制数据的黄土平滑。
如果我知道我想查看的案例,或者像我的示例那样有足够少的案例,那就太好了。但是,在此过程的实际应用中,我可以轻松处理 500 多个案例,因此我想生成一个像上面那样的多面图输出,它将遍历我数据中的所有案例(即同时为案例 AD 生成图表)示例数据),因此我可以轻松识别/选择更感兴趣的案例。
我尝试使用以下代码进行此操作:
for(i in Ex){
iplot<-ggplot(Ex,aes(x=Total,y=i))
}
iplot+geom_smooth(method=loess,size=1,colour="orange",linetype=1,fill="orange",se=T)+
geom_point(aes(y=Admin),colour="dark green",size=1.5)+ylim(0,1)+xlim(0,1)+
facet_wrap(~vars,ncol=3)+
labs(x="Expected",y="Admin",title=vars)
...以及许多其他尝试,但我似乎总是回到这个错误消息:
layout_base(data, vars, drop = drop) 中的错误:至少一层必须包含用于分面的所有变量
我错过了什么?