Как преобразовать имена столбцов dataframe из строк в аргументы, подходящие для (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
}

Ответ 1

Используйте ggplot и aes_string. Что-то вроде этого:

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

aes_string был написан именно для этой цели.