R - группировать фрейм данных из переменной

Я хочу установить столбец для группировки фрейма данных в переменную, а затем сгруппировать и суммировать фрейм данных на его основе, т.е.

require(dplyr)
var <- colnames(mtcars)[10]
summaries <- mtcars %>% dplyr::group_by(var) %>% dplyr::summarise_each(funs(mean))

такой, что я могу просто изменить var и использовать вторую строку, ничего не меняя. К сожалению, мое решение не работает как group_by спрашивает имя столбца, а не переменную.

1 ответ

Решение

Использование group_by_, который принимает аргументы как символьные строки:

require(dplyr)
var <- colnames(mtcars)[10]
summaries <- mtcars %>% dplyr::group_by_(var) %>% dplyr::summarise_each(funs(mean))

(Возможно, интересуют ресурсы по стандартной или нестандартной оценке: http://adv-r.had.co.nz/Computing-on-the-language.html)

Другие вопросы по тегам