在R中把数据帧列表写入CSV中

问题描述 投票:0回答:1

我有一个命名的数据帧列表,想把每个数据帧写成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')))
r list variables apply
1个回答
1
投票

用基础R可以做到。

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

或者你可以使用tidyverse库中的快捷命令iwalk 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")))
© www.soinside.com 2019 - 2024. All rights reserved.