我正在尝试使用group_by并汇总几个列,这些列将在一个闪亮的应用程序中交互。因此,如果我在group_by函数中指定列名称它可以工作,但是如果我为列名创建一个向量,那么它就不再起作用了。下面是Iris数据集的示例:
# Working
iris %>% group_by(Sepal.Length, Species) %>%
summarise(
`Sum.Sepal.Width` = sum(Sepal.Width)
)
# Not working
columns <- c("Sepal.Length", "Species")
iris %>% group_by(columns) %>%
summarise(
`Sum.Sepal.Width` = sum(Sepal.Width)
)
感谢。 Wlademir。
答案 0 :(得分:3)
Error in grouped_df_impl(data, unname(vars), drop) :
columns <- c("Sepal.Length", "Species")
iris %>% group_by(.dots = columns) %>%
summarise(
`Sum.Sepal.Width` = sum(Sepal.Width)
)
答案 1 :(得分:3)
另一种方法是使用rlang::syms
:
iris %>%
group_by(!!! rlang::syms(columns)) %>%
summarise(
`Sum.Sepal.Width` = sum(Sepal.Width)
)