【发布时间】:2021-12-28 02:12:23
【问题描述】:
我正在尝试通过使用 dplyrs {{ }} 表示法在函数内使用聚合来选择要聚合的列。
filter <- function(df, level) {
df <- aggregate(.~ {{level}}, data=df, FUN=sum)
return(df)
}
但是我得到了错误
Error in model.frame.default(formula = cbind(phylum, '12K1B.txt', '12K2B.txt', :
variable lengths differ (found for '{{ level }}')
我已经仔细检查了我的数据,没有丢失或 NA 值,当我在函数之外运行它时,一切都按预期工作,所以我不确定是什么导致了错误。
【问题讨论】:
-
不是我的强项,但如果 rlang 的
{{}}在aggregate的公式界面中工作,我会感到惊讶。如果您使用的是 tidyverse,请使用 tidyverse 并使用dplyr::group_by逻辑而不是aggregate