如何将大数据导出到Excel中

我使用sink()函数将R输出打印到excel /文本文件。 我的程序输出太大了。 我在Excel /文本输出文件的末尾发现了一条消息

 [ reached getOption("max.print") -- omitted 5326 rows ] 

另外我有一个以上的大输出打印。 我也希望他们在一个Excel文件的单独(不同)的工作表。

实际上,输出为matrixforms,随着循环值的增加,matrix的行列也增加。 由于行数和列数的不同,函数append不起作用。 为了避免这个错误我使用, if条件和单独使用rbind处理类似的matrix。 但是通过双循环迭代超过5千次(这个方法也是重复的),所以不可能写1000个ifrbind条件,并把它们保存到单独的表单和文件中。

如果你不想要一个csv你可以使用软件包xlsx ,保存多个表格非常简单,例如

 df1 <- data.frame(x=1:100, y=1:100) # make data df2 <- data.frame(x=1:1000, y=1:1000) library(xlsx) wb <- createWorkbook() # create blank workbook sheet1 <- createSheet(wb, sheetName="mysheet1") # create different sheets sheet2 <- createSheet(wb, sheetName="mysheet2") addDataFrame(df1, sheet1) # add data to the sheets addDataFrame(df2, sheet2) saveWorkbook(wb, "mysheets.xlsx") # write the file with multiple sheets 

你可以把你的数据框写入一个csv文件,然后使用write.csv在excel中打开它(使用?write.csv来阅读它的文档):

 ## To write a CSV file for input to Excel one might use x <- data.frame(a = I("a \" quote"), b = pi) write.table(x, file = "foo.csv", sep = ",", col.names = NA, qmethod = "double")