我正在与R Shiny合作进行一些探索性数据分析。我有两个复选框输入,它们仅包含用户选择的选项。第一个复选框输入仅包含分类变量。第二个复选框仅包含数字变量。接下来,我对这两个选择应用groupby
:
var1 <- input$variable1 # Checkbox with categorical variables
var2 <- input$variable2 # Checkbox with numerical variables
v$data <- dataset %>%
group_by_(var1) %>%
summarize_(Sum = interp(~sum(x), x = as.name(var2))) %>%
arrange(desc(Sum))
当仅选择一个类别变量时,此
groupby
可以完美工作。当多个分类变量被选择,这groupby
返回与列名的数组。如何将列名称数组传递给dplyr
的groupby
?
最佳答案
如果您有一个由变量名组成的 vector ,则应将它们传递给.dots=
的group_by_
参数。例如:
mtcars %>%
group_by_(.dots=c("mpg","hp","wt")) %>%
summarize(x=mean(gear))
关于r - dplyr-使用变量名在多个列上分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34487641/