Записать список фреймов данных в CSV в R - PullRequest
0 голосов
/ 09 мая 2020

У меня есть именованный список фреймов данных, и я хочу записать каждый фрейм данных в CSV, используя имя фрейма данных в качестве имени файла. Как я могу изменить свою функцию для этого? Функция ниже дает мне весь фрейм данных в имени файла вместо имени фрейма данных.

a <- data.frame('col1' = c(1,2,3))
b <- data.frame('col1' = c(3,4,5))
mylist <- list(a,b)
names(mylist) <- c('a', 'b')
lapply(mylist, function(x) write.csv(x, file = paste0(x, '.csv')))

1 Ответ

1 голос
/ 09 мая 2020

С базовым R вы можете сделать.

lapply(names(mylist), function(x) {write.csv(mylist[[x]], file = paste0(x, ".csv"))})

Или вы можете использовать команду быстрого доступа iwalk из библиотеки tidyverse purrr.

iwalk(mylist, function(x, y) {write.csv(x, file = paste0(y, ".csv"))})

## Or this alternative syntax.

iwalk(mylist, ~write.csv(.x, file = paste0(.y, ".csv")))
...