ggplot2で一度に複数ページのグラフを出力したい
データ分析の基本は可視化!で、1000変数のオーダーでもプロットして確認したくなりません?な。
もちろん、1000変数のオーダーだと、1ページにまとめられる訳ないので、1ページ1プロットをPDF出力して、パラパラ漫画式のチェックで*1。
過日某氏より、上記な事をしたいけど、ggplot2だと複数ページの出力が出来ないと言われたのでメモ。ポイントは明示的にprintをすること。
library(ggplot2) data(iris) # サンプルデータ pdf("hoge.pdf") for (i in seq_along(names(iris))){ p <- ggplot(iris, aes(x=Sepal.Length, y=iris[,i])) + geom_point() + ylab(names(iris)[i]) print(p) # ココがミソ } dev.off()
残された疑問
上記、Rっぽくないコードな。applyなりをかます方法は無いだろうか?と。
*1:膨大になると確認の見落としが当然出るので、平均・分散、等々の適当な数値を算出し、変数のスクリーニングやチェックの優先順位つけも併用します。