【发布时间】:2019-03-21 13:51:46
【问题描述】:
我想创建一个函数,用 metric 参数指定的特定度量来改变 ... 中指定的所有变量。我在函数中使用 mutate_at 并希望它用“var.functionname”重命名变量。函数如下:
seasonAggregator <- function(.data, ..., metric = "sum") {
# all variables in ... will be accumulated
metric <- sym(metric)
name <- ensym(metric)
print(paste0("Metric for accumulation was: ", metric))
.data <- .data %>% mutate_at(vars(...), .funs = list(!!name := metric)) # HERE IS THE ISSUE
return(.data)
}
如何在 metric 参数中指定函数,mutate_at 使用函数的名称来重命名变量?
最好的莫里茨!
【问题讨论】:
-
展示一个示例
data.frame与预期结果发布功能可能会有所帮助。 -
如果您使用
rlang::list2而不是list是否有效?list作为基本函数不支持!!表示法。