在R中执行计算后,我们想要将结果导出到Excel文件中,以便进行一些格式化和添加图形。我在下一页
http://learnr.wordpress.com/2009/10/06/export-data-frames-to-multi-worksheet-excel-file/
报告以下代码
> library(RODBC)
> save2excel <- function(x) sqlSave(xlsFile,
x, tablename = x$Species[1], rownames = FALSE)
> xlsFile <- odbcConnectExcel("RODBC.xls", readOnly = FALSE)
> l_ply(testlist, save2excel)
> odbcCloseAll()
我在实现它时遇到了一些困难,实际上它会返回一个错误,如:
Errore in sqlSave(xlsFile, x, tablename = NULL, rownames = FALSE) :
should be a data frame
你有任何提示吗?
答案 0 :(得分:1)
是。它看起来像是一个列表/向量。您只能将数据帧保存为excel表。如果您提供有关数据结构的更多信息,我们可以为您提供帮助。
一种最常用的方法,如果你的列表/矢量形式的数据,它可能是一个概率,但如果它是一个逻辑表(矩阵/数据表等),你可以做一个as.data.frame(x)
来做它DF。
答案 1 :(得分:0)
我使用相同的(伟大的)博客帖子并遇到了两个相同的错误(数据框和excel文件已损坏)。听起来你已经找到了data.frame部分,但仍然得到了损坏的文件错误。我不得不删除博客帖子的功能方面以消除该错误。
newdat <- data.frame(rnorm(100,0,10))
xlsFile <- odbcConnectExcel("Test.xls", readOnly = FALSE)
sqlSave(xlsFile,newdat, append=FALSE)
odbcCloseAll()
这应该在名为“Test.xls”的文件中创建一个名为“newdat”的新工作表。如果该文件已存在,则它将是一个新工作表。否则它将创建文件并成为唯一的工作表。