如何在数据框列表列表上应用函数?

时间:2021-01-20 19:09:28

标签: r dplyr

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

 library(dplyr)

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

我该怎么做?

1 个答案:

答案 0 :(得分: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))))
相关问题