R包XLConnect和choose.files()之间的奇怪交互

时间:2013-07-10 07:56:03

标签: java r xlconnect

我观察到以下奇怪的行为:

使用R-console(2.15.2,Windows 7,32位),我得到:

> choose.files() # works fine here
character(0)
> library(XLConnect)
Lade nötiges Paket: XLConnectJars
Lade nötiges Paket: rJava
Error : .onLoad in loadNamespace() für 'XLConnectJars' fehlgeschlagen, Details:
  Aufruf: .jinit()
  Fehler: Cannot create Java virtual machine (-4)
Zusätzlich: Warnmeldung:
Paket ‘rJava’ wurde unter R Version 2.15.3 erstellt 
Fehler: Paket ‘XLConnectJars’ konnte nicht geladen werden

choose.files()调用工作正常(我只是单击“取消”),但是由于一些与JVM相关的问题,显然无法加载XLConnect。

现在,重新启动R控制台并以不同的顺序发出相同的两个命令:

> library(XLConnect)
Lade nötiges Paket: XLConnectJars
Lade nötiges Paket: rJava
XLConnect 0.2-4 by Mirai Solutions GmbH
http://www.mirai-solutions.com ,
http://miraisolutions.wordpress.com
Warnmeldung:
Paket ‘rJava’ wurde unter R Version 2.15.3 erstellt 
> choose.files() # returns after a few seconds without ever displaying a file choser
character(0)

因此XLConnect包加载正常,但choose.files()调用从不显示文件选择器并在几秒后返回“character(0)”。 当我在R-Studio中运行相同的代码时,一切都可以正常工作。

我已经尝试增加Java堆空间(因为我在其他一些线程/论坛中发现了这个提示),但它没有帮助。

如何解决这个问题的任何解释或提示?

2 个答案:

答案 0 :(得分:3)

此问题很可能与R 2.15.2的C堆栈大小变化有关 (增加到64MB - 也适用于Win 32位系统;请参阅https://stat.ethz.ch/pipermail/r-announce/2012/000557.html)。这也解释了为什么你在R 2.15.3中观察到这个问题,但在R 2.15.0中却没有。

“C堆栈大小的增加”问题也是讨论的问题 在https://stat.ethz.ch/pipermail/r-devel/2013-January/065576.html和 在RStudio支持论坛上。

克服这个问题的可能方法:

  • 使用最新版本的R(如果已修复)(R 3.0+;推荐),或者使用早期版本(例如R 2.15.0;不推荐)
  • 使用最近/最新版本的RStudio(他们设置堆栈大小 在他们的结尾;这实际上是由于所描述的问题而完成的 R 2.15.2中C堆栈大小的变化
  • 尝试在使用/加载之前手动设置java堆栈大小 R中与Java相关的包;例如options(java.parameters =“ - Xss5m”)或 options(java.parameters =“ - Xss10m”)

答案 1 :(得分:1)

安装版本3.02的R为我解决了同样的问题