Rで、ggplot()で作成したグラフをリストに入れていきたい
Rで、lapplyを用いてggplot()で作成したグラフをリストに入れたい
目的:ggplot()を用いて複数のグラフを描画した後、grid.arrangeを用いて1枚の図表として保存したい。書きたいグラフはどれも同じ構造で、同じデータフレームに格納できているのでfacet_wrapでも同じようなことはできるが、グラフによって回帰線を書く、書かないを変えたい。そのため、このような方法を取ろうとした。
考えたこと:
lapplyとfunction()を使えば、グラフを複数作る所までできると思った。
後は、
list[[1]]+geom_smooth()
のようにすれば、任意のグラフにだけ回帰線を引けると思った。
書いたコード
list=list(A,B,C) #A,B,Cはデータフレームとする
plotlist=NULL
lapply(list, function(a){
b=ggplot(data=a, aes())+
geom_line()+
plotlist=list(plotlist,b)
}
)
こうすればA,B,Cに対応するグラフが格納されたリストができるのでは?と思いましたが、plotlistの中身はNULLになってしまいます。
Rは初心者ですので、おそらく根本的に誤っている部分があると思います。
どのような理由でこれではいけないのか、またどのようにすれば試みていることができるかを教えていただけると嬉しいです。