【发布时间】:2019-11-12 10:50:06
【问题描述】:
我正在尝试使用dplyr 语法编写一个函数,其中包括在函数内部使用 group_by 进行分组。 group_by 语句似乎有问题,我不知道出了什么问题。当我将abc 作为参数传递并在函数内部使用select 时,它会像我预期的那样工作(Gfunc1)。当尝试group_by 相同的参数时,它给了我一个错误;
错误:
dims列未知
请看下面的例子。我真的希望我没有忽略一些令人尴尬的简单事情......无论如何,将不胜感激!
library(dplyr)
abc <- c("a","a","a","b","b","c")
num <- c(1,2,3,4,5,6)
df <- data.frame(abc,num)
Gfunc1 <- function(dims) {
test1 <- df %>%
select(dims)
assign("test1", test1, envir = .GlobalEnv)
}
Gfunc2 <- function(dims) {
test2 <- df %>%
group_by(dims)
assign("test2", test2, envir = .GlobalEnv)
}
Gfunc1("abc")
# Returns as expected; df test1 with only col = "abc"
Gfunc2("abc")
# Does not return what i expect; gives error: Error: Column `dims` is unknown
【问题讨论】:
-
使用`group_by_at(dims)"。
标签: r group-by dplyr user-defined-functions