我正在尝试使用purrr :: map从当前工作R空间中的列表中编写excel文件。我想使用每个列表的名称作为excel文件名(例如:name_1.xlsx,name_2.xlsx)。我如何获得purrr:map来做到这一点?
library(tidyverse)
library(writexl)
l2 <- list(
tibble(x = 1:5, y = 1, z = x ^ 2 + y),
tibble(x = 2:6, y = 3, z = x ^ 2 + y)
)
names(l2) <- c("name_1", "name_2")
我尝试了这两种解决方案,但它们无法正常工作。
map(l2, write_xlsx, str_c(names(l2), ".xlsx"))
map(l2, ~write_xlsx(l2, path = str_c(names(l2), ".xlsx")))
答案 0 :(得分:1)
我认为您需要 :host { margin: 5px; }
同时提供map2
&amp; l2
到names(l2)
。此处write_xlsx
引用.x
,l2
引用.y
names(l2)
修改:您还可以使用map2(l2, names(l2), ~ write_xlsx(.x, path = str_c(.y, ".xlsx")))
$`name_1`
[1] "name_1.xlsx"
$name_2
[1] "name_2.xlsx"
,walk2
&amp; pmap
pwalk