是否可以在函数中对多个变量使用 group_by ?
我创建了一个聚合数据集中数值的函数,并首先使用 group_by() 函数对数据进行分组。下面是我编写的代码的示例。有没有一种方法可以 group_by() 多个变量,而无需为该函数创建另一个输入?
agg <- 函数(数据,组){ aggdata <- 数据 %>% group_by({{group}}) %>% select_if(function(col) !is.numeric(col) & !is.integer(col)) %>% summarise_if(is.numeric, sum, na.rm = TRUE) return(aggdata)
I created a function that aggregates the numeric values in a dataset, and I use a group_by() function to group the data first. Below is an example of what the code I wrote looks like. Is there a way I can group_by() more than one variable without having to create another input for the function?
agg <- function(data, group){ aggdata <- data %>% group_by({{group}}) %>% select_if(function(col) !is.numeric(col) & !is.integer(col)) %>% summarise_if(is.numeric, sum, na.rm = TRUE) return(aggdata)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的代码(至少)有一个放错位置的大括号,如果没有可重现的示例和所需的结果,就很难看到您想要完成的任务。
可以将变量名称向量传递给
group_by()
。例如,以下代码产生与mtcars %>% group_by(cyl, gear)
相同的结果:也许您可以在函数定义中使用此语法。
Your code has (at least) a misplaced curly brace, and it's a bit difficult to see what you're trying to accomplish without a reproducible example and desired result.
It is possible to pass a vector of variable names to
group_by()
. For example, the following produces the same result asmtcars %>% group_by(cyl, gear)
:Maybe you could use this syntax within your function definition.