horioの雑記帳

データ分析屋さんが、気の向いた事を色々メモってる雑記帳。

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:膨大になると確認の見落としが当然出るので、平均・分散、等々の適当な数値を算出し、変数のスクリーニングやチェックの優先順位つけも併用します。