我尝试使用write.xlsx
包的xlsx
函数将一些R数据帧保存到.xlsx文件中
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。
答案 0 :(得分:2)
在Eclipse中工作时,可以使用rj
- Java终端或RTerm
- 本机R终端启动R.
如果您使用rj
终端并且某些内容无效,请尝试使用RTerm
进行同样的操作。
我从未试图找出原因,但有些事情在rj
中无效。这包括RCOM
的所有使用以及system()
的返回值的打印。
我默认使用rj
,因为我喜欢它处理帮助的方式(以及其他好处)
但如果事情不起作用,我会在RTerm
中尝试。有一天我会有空闲时间,我会和作者一起讨论。
PS。我想强调一点,我绝对喜欢Eclipse中的StatET。这些奇怪的事情或rj
在宏伟的计划中是非常小的不便。
答案 1 :(得分:2)
根据我的经验,当安装标准rj软件包而不是StatET开发人员提供的bij软件包时会产生这种错误。 在此处查看安装指南: http://www.walware.de/goto/statet
如果你碰巧使用Debian或Ubuntu,你也可以使用OpenAnalytics的存储库一次性安装StatET和正确的rj包。