尝试使用R写入xlsx.-file时出现错误消息

时间:2012-03-26 10:40:04

标签: java eclipse r xlsx statet

我尝试使用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。

2 个答案:

答案 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包。

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