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)
我有这样的列表:
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)