我想将GROUP_BY()函数与我的定制函数一起使用,但是GROUP_BY中的列名将在我的函数参数中定义.
请看我的数据的假设示例:
data <- data.frame(ind = rep(c("A", "B", "C"), 4),
gender = rep(c("F", "M"), each = 6),
value = sample(1:100, 12))
这就是我想要的结果:
result <- data %>%
group_by(ind, gender) %>%
mutate(value = mean(value)) %>%
distinct()
这就是我试图让我的功能发挥作用的方式:
myFunction <- function(data, set_group, variable){
result <- data %>%
group_by(get(set_group)) %>%
mutate(across(all_of(variable), ~ mean(.x, na.rm = TRUE))) %>%
distinct()
}
result3 <- myFunction(data, set_group = c("ind", "gender"), variable = c("value"))
result3
我希望允许用户根据需要定义尽可能多的set_group和变量.我try 在GROUP_BY中使用get()函数、all_of()函数和mget()函数,但都不起作用. 有人知道我该怎么编码吗?
谢谢!