R 将多个数据帧导出到不同的 Excel 文件

R Export several dataframes to differeny Excel files

我有几个数据帧(mydf1、mydf2、mydf3 等)。如何将每个数据帧导出到单独的 Excel 文件,以便文件名是数据帧的名称(例如 mydf1.xlsx)。

我试过将它们放在一个列表中并进行如下循环。它几乎给了我想要的东西,但我不知道如何让 R 正确命名 Excel 文件而不是 1.xlsx、2.xlsx 等。有什么想法吗?

install.packages("writexl")
library(writexl)

list_of_dfs <- lapply(ls(pattern="mydf"), function(x) get(x))

for (i in c(1:length(list_of_dfs))){
     write_xlsx(list_of_dfs[i], paste(i,".xlsx"))
   }

尝试以下方法。

  1. 使用mget一次获取所有df,不需要lapply;
  2. df 的列表是一个 named 列表,名称可用于 assemble 文件名。

修正后的代码为:

library(writexl)

list_of_dfs <- mget(ls(pattern = "mydf"))

for(i in seq_along(list_of_dfs)){
  filename <- paste0(names(list_of_dfs)[i], ".xlsx")
  write_xlsx(list_of_dfs[[i]], filename)
}