数据框架列表个人Excel工作表 – R

我有一个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所build议的第二种方法是使用addDataFrame 。 这或多或less是上述function的帮助页面中的一个例子。

 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) 

可以说你的数据框架Lst叫做wb.xlsx ,而你要保存的工作簿叫做wb.xlsx 。 那么你可以使用:

 library(xlsx) counter <- 1 for (i in length(Lst)){ write.xlsx(x=Lst[[i]],file="wb.xlsx",sheetName=paste("sheet",counter,sep=""),append=T) counter <- counter + 1 } 

G