2011-12-20 3 views
10

データフレームを取得し、そのデータフレーム内のすべての列をヒストグラムとしてグラフ化する関数を作成します。列の名前、私は事前に知っているデータフレームのためにデータフレーム列名を文字列から(qplot、ggplot2)に適した引数に変換する方法は?

、私は

qplot(colname1, data=df, geom='histogram') 
qplot(colname2, data=df, geom='histogram') 
... 

を書くことができますが、私は、文字列"colname1"として列の名前を使用できるように、一般的にこれをやってみたいです。

plot_histogram_of_column <- function(df, colname) { 
    # qplot(colname, data=df, geom='histogram') won't work 
} 

答えて

20

使用ggplotaes_stringを書くためにどのように言い換えれば

、。このような何か:

ggplot(data = df, aes_string(x = colname)) + geom_histogram() 

aes_stringは、この目的のために正確に書かれました。

+2

ここに記載されているとおり:http://had.co.nz/ggplot2/aes.html ggplot2ドキュメントサイトのページはリンクされていないので、それを見つけるための唯一の方法は、それを探し出すことです。 –

+0

@ Maxy-B組み込みのドキュメント( '?aes')はバージョン0.9.0で大幅に改善され、' aes_string'のヘルプページへのリンクを含んでいます。これが8.9.0のケースであったかどうかは思い出せません。 – joran

+0

はい。私はちょうどこれに関連する私自身の問題を単独で解決しました。この機能は非常に不明瞭で、発見するのは困難ですが、重要です。確かに、大規模なデータセットをプロットするときにパラメータ化したい最初のものの1つは、yシリーズのアイデンティティですが、例ではこれを強調していません。 (わかりやすくするためにあなたのタイトルを編集しました) – smci

関連する問題