使用 Purrr 导出列表

Using Purrr to export a list

我有一个包含子表的列表。我希望能够使用 purrr 以列表中项目的名称单独导出表格 - 在下面的例子中,我将获得三个文件,每个植物都以今天的日期命名

library('purrr')
library('tidyverse')

mytest <- iris
mylist <- split(mytest,f = mytest$Species)
names(mylist)

# basically pseudo code for explanation purposes
write_excel_csv(mylist[1], names(mylist[1]))

我目前只是在学习如何有效地使用它,所以如果能提供任何帮助解释以及你为什么这样做会很棒

我知道我可以编写一个 for 循环来遍历列表,但我想将其用作开始 purrr

的学习经验

感谢您的宝贵时间

来自 base R 的

Map 可以很好地处理这样的事情:

Map(write.csv, mylist, sprintf("%s-%s.csv", names(mylist), Sys.Date()))
list.files(pattern = "*.csv")
# [1] "setosa-2017-02-13.csv"     "versicolor-2017-02-13.csv" "virginica-2017-02-13.csv"

或者,walk2(可能还有 purrr 中的其他几个函数)也可以以这种方式使用。