如何将数据帧列名从字符串转换为适合(qplot,ggplot2)的参数?

pra*_*asp 11 string arguments r ggplot2 dataframe

我想编写一个采用数据帧的函数,并将该数据帧中的所有列绘制为直方图.

对于我之前知道的列名的数据帧,我可以写

qplot(colname1, data=df, geom='histogram')
qplot(colname2, data=df, geom='histogram')
...
Run Code Online (Sandbox Code Playgroud)

但我想这样做,所以我可以使用列的名称作为字符串"colname1".

换句话说,怎么写

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

jor*_*ran 19

使用ggplotaes_string.像这样的东西:

ggplot(data = df, aes_string(x = colname)) + geom_histogram()
Run Code Online (Sandbox Code Playgroud)

aes_string 是为了这个目的而写的.

  • 如下所示:http://had.co.nz/ggplot2/aes.html请注意,据我所知,ggplot2文档站点没有页面链接到此,所以找到它的唯一方法是通过知道搜索它. (2认同)