purrr 占位符:替代编码

purrr placeholder: alternative coding

我有这样的列表:

l <- list("patients" = patients, 
          "patient_orders" = patient_orders,
          "specimen_info" = specimen_info, 
          "hasta_test_bilgi" = hasta_test_bilgi, 
          "patient_reports_rerun" = patient_reports_rerun,
          "diagnosis" = diagnosis)

所有列表项都是小标题,我想将每个小标题写入带有列表名称的单独 .csv 文件。

我可以通过以下代码完成此操作:

walk2(.x = l,.y = glue("output/{names(l)}.csv"),  .f = write_excel_csv)

是否有任何优雅的方法来完成此操作: 我搜索了占位符的 purrr 文档,例如 .使用 walk()

谢谢

每当您需要遍历列表的名称和内容时,请使用 imap 子系列,其中包括我们将在此处使用的 iwalk

这些都是等价的:

walk2(.x = l,.y = glue("{names(l)}.csv"),  .f = write.csv)
walk(names(l), ~ write.csv(l[[.]], glue("{.}.csv")))
iwalk(l,~write.csv(.x,glue("{.y}.csv")))
l %>% set_names(glue("{names(.)}.csv")) %>% iwalk(write.csv)