Использование Purrr для экспорта списка

У меня есть список, который содержит подтаблицы. Я хочу иметь возможность использовать 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

Спасибо за ваше время


person John Smith    schedule 13.02.2017    source источник
comment
Это круто. Большое спасибо @nrussell. Пожалуйста, отправьте это как ответ, и я отмечу это правильно   -  person John Smith    schedule 13.02.2017


Ответы (1)


Map из базы R отлично подойдет для чего-то вроде этого:

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) можно использовать таким образом.

person nrussell    schedule 13.02.2017