0

在 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

你有什么提示吗?

4

2 回答 2

1

是的。看起来 x 是一个列表/向量。您只能将数据框保存为 excel 工作表。如果您提供有关数据结构的更多信息,我们可以为您提供帮助。

一种最通用的方法,如果您的数据采用列表/向量形式,它可能是一个概率,但如果它是一个逻辑表(矩阵/数据表等),您可以将其as.data.frame(x)设为 DF。

于 2013-02-15T20:47:18.347 回答
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”的新工作表。如果该文件已经存在,它将是一个新的工作表。否则它将创建文件并成为唯一的工作表。

于 2013-07-31T21:52:31.797 回答