【发布时间】:2020-08-06 15:57:29
【问题描述】:
如何将使用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"))
在新函数中,应该使用字符串向量来指定分组。我想检查用户是否在新函数中使用旧的点表示法,并在这种情况下将用点指定的分组变量转换为字符串向量。
【问题讨论】:
-
你能举个例子吗?