r - 如何在 dplyr 中调用几个变量到 group_by
问题描述
我正在尝试使用 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)
)
谢谢。弗拉德米尔。
解决方案
正如这个问题中提到的,它应该通过使用group_by_at()
:
columns <- c("Sepal.Length", "Species")
iris %>% group_by_at(columns) %>%
summarise(
"Sum.Sepal.Width" = sum(Sepal.Width)
)
推荐阅读
- vue.js - 页面重新加载后无法获取 Vuex getter 和突变中的状态
- python - 用于测试的无头 VTK
- join - 如何在 Solr 中使用 join 和 sort?
- group-by - Cassandra 3.11.4 CQL GROUP BY 不工作
- javascript - 如何等待访问短信的权限请求被确认
- sql-server - 尝试计算自 1900 年 1 月 1 日以来的天数并且 DateDiff 函数已关闭
- python - 我试图为python(linux)安装emcee和corner。我在安装过程中丢失了“python.h”。如何修复角落安装?
- javascript - 有没有更快的方法来对 HTML 表格进行排序?
- java - 在 Oreo 上复制 SQLite 数据库
- javascript - 如何在 Google 跟踪代码管理器中通过 JavaScript 发送 MailChimp API 请求?