2

我尝试使用这样的包的write.xlsx功能将一些 R-dataframes 保存到 .xlsx-filesxlsx

write.xlsx(tab,file="test",sheetName="testsheet",col.names=TRUE,row.names=FALSE,append=FALSE)

而对象tab是一个数据框,如此处所证明

> class(tab)
[1] "data.frame"

当我运行代码时,我收到以下错误消息

>  write.xlsx(tab,file="test.xlsx",sheetName="testsheet",col.names=TRUE,row.names=FALSE,append=FALSE)
Fehler in .jcall("RJavaTools", "Z", "hasField", .jcast(x, "java/lang/Object"),  : 
  RcallMethod: cannot determine object class

而且我不知道问题可能是什么。

PS:我在 64 位机器上的 Eclipse 3.7 的 StatET 2.0 插件中运行 R 2.14.1。

4

2 回答 2

2

当您在 Eclipse 中工作时,您可以使用rjJava 终端或RTerm本地 R 终端来启动 R。

如果您正在使用rj终端并且某些东西不起作用,请尝试使用RTerm.

我从来没有试图弄清楚为什么,但有些事情在rj. 这包括所有使用RCOM以及打印 的返回值system()

rj默认使用,因为我喜欢它处理帮助的方式(以及其他好处)。
但如果事情不起作用,我会在RTerm. 哪天有空再跟作者聊一聊。


PS。我想强调我绝对喜欢 Eclipse 中的 StatET。这些奇怪rj的事情或在宏伟的计划中是非常小的不便。

于 2012-03-26T16:12:16.177 回答
2

根据我的经验,当安装标准 rj 包而不是 StatET 开发人员提供的 bij 包时,会产生这些错误。在此处查看安装指南: http ://www.walware.de/goto/statet

如果您碰巧使用 Debian 或 Ubuntu,您还可以使用 OpenAnalytics 的存储库一次性安装 StatET 和正确的 rj 包。

http://deb.openanalytics.eu/howto.html

于 2012-08-03T18:34:25.133 回答