Я суммирую групповые значения из таблицы, используя функцию summarize
из пакета dplyr в R. Я хотел бы сделать это динамически, используя строку имени столбца, хранящуюся в другой переменной.
Следующее это "нормальный" способ, и он работает, конечно:
myTibble <- group_by( iris, Species)
summarise( myTibble, avg = mean( Sepal.Length))
# A tibble: 3 x 2
Species avg
<fct> <dbl>
1 setosa 5.01
2 versicolor 5.94
3 virginica 6.59
Однако я хотел бы сделать что-то вроде этого:
myTibble <- group_by( iris, Species)
colOfInterest <- "Sepal.Length"
summarise( myTibble, avg = mean( colOfInterest))
Я прочитал Программирование с помощью страницы dplyr , и я попробовал несколько комбинаций quo
, enquo
, !!
, .dots=(...)
и др. c., Но я не понял, правильно способ сделать это еще.
Мне также известен этот ответ , но, 1) когда я использую функцию стандартной оценки standardise_
, R говорит мне, что она устарела, и 2) этот ответ не выглядит элегантным вообще. Итак, есть ли хороший, простой способ сделать это?
Спасибо!