我必須在我的數據上運行許多ggplots,所以我試圖通過變量循環。我想用grid_extra將這些圖放置在網格佈局中。我設法爲循環編寫代碼,以便爲我的列表創建圖,但我不確定如何將其擴展到網格外。這裏是我的代碼:在使用ggplot2循環後使用grid_extra
data("mtcars")
mtcars$gear=as.factor(mtcars$gear)
lflist=list("mpg", "hp", "drat", "wt")
lfplot=list()
for(i in seq_along(lflist)) {
lfplot=ggplot(data=subset(mtcars, !is.na(gear)), aes(x=gear,
y=lflist[i]))+geom_boxplot()+
stat_summary(fun.y=median, geom="line", aes(group=1), colour="red")+
stat_summary(fun.y=median, geom="point", colour="red")+
theme(axis.text.x=element_text(size=8),axis.title.x = element_blank())
}
當試圖繪製其中一個時出現錯誤:'錯誤:stat_boxplot需要以下缺失美學:y'您在哪裏定義'y'?在製作劇情列表之前,你確定你可以繪製每個劇情嗎? – Masoud
謝謝你的回覆。我在'lflist'中定義了我的y - 這些是我正在循環的變量。我重新運行代碼並沒有收到錯誤。 –
我認爲@Masoud是正確的。我必須使用'aes_string'修改你的代碼,如下所示。 – Lyngbakr