1

我有一个列表state-list,其中包含 4 个列表wa、和tex,所有这些列表都包含大约 60 个数据帧。我想对这些数据框应用相同的功能。例如,我想添加一个具有平均值的新列,如下所示:cinohi

 library(dplyr)

 df # example df from one of the lists 
 
 df %>% group_by(x) %>% mutate(mean_value = mean(value))

我怎样才能做到这一点?

4

1 回答 1

3

我们可以使用嵌套map来循环list

library(purrr)
library(dplyr)
out <- map(state_list, ~ map(.x, ~ .x %>%
                        group_by(x) %>%
                        mutate(mean_value = mean(value)))

或使用base R

out <- lapply(state_list, function(lst1) lapply(lst1, 
          function(dat) transform(dat, mean_value = ave(value, x))))
于 2021-01-20T19:12:30.990 回答