[英]How to call several variables to group_by in dplyr
我正在嘗試使用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。
grouped_df_impl(data,unname(vars),drop)出錯:
columns <- c("Sepal.Length", "Species")
iris %>% group_by(.dots = columns) %>%
summarise(
`Sum.Sepal.Width` = sum(Sepal.Width)
)
正如在這個問題中提到的,它應該使用group_by_at()
:
columns <- c("Sepal.Length", "Species")
iris %>% group_by_at(columns) %>%
summarise(
"Sum.Sepal.Width" = sum(Sepal.Width)
)
另一種方法是使用rlang::syms
:
iris %>%
group_by(!!! rlang::syms(columns)) %>%
summarise(
`Sum.Sepal.Width` = sum(Sepal.Width)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.