我有一个 data.frame 列表,我想将其输出到它们自己的 Excel 工作表中。我可以轻松地将单个数据框保存到其自己的 Excel 文件中,但我不确定如何将多个数据框保存到同一 Excel 文件中其自己的工作表中。
library(xlsx)
write.xlsx(sortedTable[1], "c:/mydata.xlsx")
最佳答案
指定每个列表元素的工作表名称。
library(xlsx)
file <- paste("usarrests.xlsx", sep = "")
write.xlsx(USArrests, file, sheetName = "Sheet1")
write.xlsx(USArrests, file, sheetName = "Sheet2", append = TRUE)
@flodel 建议的第二种方法是使用 addDataFrame
。这或多或少是上述函数帮助页面的示例。
file <- paste("usarrests.xlsx", sep="")
wb <- createWorkbook()
sheet1 <- createSheet(wb, sheetName = "Sheet1")
sheet2 <- createSheet(wb, sheetName = "Sheet2")
addDataFrame(USArrests, sheet = sheet1)
addDataFrame(USArrests * 2, sheet = sheet2)
saveWorkbook(wb, file = file)
假设您有一个 data.frames 列表和一个工作表名称列表,您可以成对使用它们。
wb <- createWorkbook()
datas <- list(USArrests, USArrests * 2)
sheetnames <- paste0("Sheet", seq_along(datas)) # or names(datas) if provided
sheets <- lapply(sheetnames, createSheet, wb = wb)
void <- Map(addDataFrame, datas, sheets)
saveWorkbook(wb, file = file)
关于r - 单个 Excel 工作表的 data.frame 列表 - R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27524472/