我有很多要为其创建相同变量的数据集。我想创建一个函数来避免多次重复相同的代码。
我尝试了以下代码:前三行描述了我试图通过下面创建的函数应用的变量的创建。
data1 <- data1 %>%
dplyr::group_by(id)%>%
dplyr::mutate(new_var = sum(score))
list_data <- c(data1, data2, data3)
my_func <- function(x) {
x <- x %>%
dplyr::group_by(id) %>%
dplyr::mutate(new_var = sum(score))
}
lapply(list_data, my_func)
我收到错误消息
没有适用于“ group_by”的适用于类对象的方法 “字符”。
你能帮我解决这个问题吗?
答案 0 :(得分:0)
对我来说,这很好:
my_func <- function(x) {
x <- x %>%
dplyr::group_by(id) %>%
dplyr::mutate(new_var = sum(score))
}
data1 <- data.frame(id = rep(1:3, each = 3), score = 1:9)
data2 <- data.frame(id = rep(1:3, each = 3), score = 11:19)
data3 <- data.frame(id = rep(1:3, each = 3), score = 21:29)
list_data <- list(data1, data2, data3)
lapply(list_data, my_func)