我有一个布尔数据集data set
im试图获取每列的条形图。我可以手动完成例如:ggplot(data=data14)+
geom_bar(aes(x=data14$X35,fill=X35))
那是有效的,但是如果我尝试使用for循环,它将无法工作
for (i in colnames(data14)){ plot[i] <-ggplot(data=data14)+geom_bar(aes(x=i,fill=i)) }
我想将所有图发送到plot1,plot2 ...值。
并且我尝试手动进行测试。例如:
i="X1"
ggplot(data=data14)+
geom_bar(aes(x=i,fill=i))
为此代码R给我这张图:graph
我如何在ggplot图形中设置for循环的“ i”值?
为什么循环不能与aes()
一起使用的问题是,在这种情况下,您必须使用aes_string
,如下所示:
attach(iris)
for(i in names(iris)[-5]){
print(ggplot(data=iris) + geom_bar(aes_string(x=i,fill=i)))
}
但是,请注意,此解决方案不是最佳解决方案,您应按照NelsonGon的建议进行操作。您能否举一个例子,说明您想要的情节如何?