ggplot2 を使用してプログラムで分布をプロットしようとしています。
ここで非標準評価(NSE)を扱う方法がわかりません(NSEに関するHadleyの本の章などを読んだ後でも)。
次のコードを検討してください。
library(ggplot2)
gg_dens <- function(x){
eval(ggplot(data.frame(x), aes_string(x = substitute(x))) + geom_density() +
ggtitle(substitute(x)), data.frame(x))
}
lapply(mtcars, function(x) gg_dens(x))
このコードは、列ごとに 1 つずつ、多数の密度プロットを生成します。ただし、プロットされている変数の名前は出力されません。代わりに、プレースホルダー変数x
が出力されます (図を参照)。
私の目標は、x
引用符を実際の変数名に置き換えることですmpg
。