Как я могу преобразовать вектор групп, указанных с помощью функции plyr
.
, например .(group, sex)
, в вектор символов, подобных этому c("group", "sex")
.
Мы использовали подход plyr, чтобы указать группы в более старой версии нашего пакета R. В новой версии мы хотим, чтобы пользователь определял группы, используя вектор строк, но мы не хотим нарушать предыдущий код, в котором использовался точечный подход.
Пример старой функции:
library(plyr)
my_function_old <- function(df, grouping) {
ddply(df, grouping, summarize,
m = mean(mpg))
}
my_function_old(mtcars, .(cyl, vs))
Пример новой функции:
library(dplyr)
my_function_new <- function(df, grouping) {
df %>%
group_by(!!!syms(grouping)) %>%
summarise(m = mean(mpg))
}
my_function_new(mtcars, c("cyl", "vs"))
В новой функции группировка должна быть указана с помощью вектора строк. Я хотел бы проверить, использует ли пользователь старую точечную нотацию в новой функции, и в этом случае преобразовать группирующие переменные, указанные точкой, в вектор строк.