数据框架列表个人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