R包 purrr list处理

1、参考文档
https://www.r4epi.com/using-the-purrr-package

2、实例

  • 2.1 生成实例数据
set.seed(123)
df_xyz <- tibble(
  x = rnorm(10),
  y = rnorm(10),
  z = rnorm(10)
) %>% 
  print()

生成一个函数

add_na_at <- function(vect, pos) {
  vect[[pos]] <- NA
}
  • 2.2 不用传参的函数使用

map 返回的是列表

map(
  .x = df_xyz,
  .f = ~ add_na_at(.x, 2)
)

map_dfc 返回的是data frame,按列合并

map_dfc(
  .x = df_xyz,
  .f = ~ add_na_at(.x, 2)
)
  • 2.3 传递多个参数
    我们可以为其提供两个要迭代的对象(即 和.x),而不是为 map 提供一个要迭代的对象(即.x).y:
map2_dfc(
  .x = df_xyz,
  .y = c(2, 4, 6),
  .f = ~ add_na_at(.x, .y)
)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容