我在 R Studio 中的全局环境由多个数据框组成。我想将每个数据框中的数据写入单个 excel 文件中的每个选项卡。
为了使这个问题具有可重复性,让我们考虑一下全球环境中的以下数据框:
df1 <- data.frame(ID = c("001", "002", "003"), scores = c(5, 7, 6))
df2 <- data.frame(ID = c("001", "002", "003"), scores = c(3, 6, 4))
df3 <- data.frame(ID = c("001", "002", "003"), scores = c(7, 6, 7))
df4 <- data.frame(ID = c("001", "002", "003"), scores = c(4, 3, 7))
所需的输出是一个 excel 文件,有 4 个选项卡,第一个选项卡名为“df1”并包含 df1 的数据,依此类推。
我尝试了以下方法,但它们都不起作用:
lapply(ls(), function(x) write.xlsx(ls(), "Overall_Output.xlsx", sheetName = x, append = TRUE, col.names = TRUE, row.names = FALSE, showNA = FALSE))
lapply(names(ls()), function(x) write.xlsx(ls(), "Overall_Output.xlsx", sheetName = x, append = TRUE, col.names = TRUE, row.names = FALSE, showNA = FALSE))
lapply(names(ls()), function(x) write.xlsx(ls[[x]], "Overall_Output.xlsx", sheetName = x, append = TRUE, col.names = TRUE, row.names = FALSE, showNA = FALSE))
我知道在 Stackoverflow 上有使用 for 循环对我的查询的解决方案。但是,没有使用 apply 系列函数(例如 lapply)来得出答案的解决方案。
感谢使用 lapply 解决此问题的任何帮助。谢谢!