【问题标题】:Strange interaction between R package XLConnect and choose.files()R包XLConnect和choose.files()之间的奇怪交互
【发布时间】:2013-12-11 04:31:13
【问题描述】:

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

使用 R 控制台(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 堆空间(因为我在其他一些线程/论坛中发现了这个提示)但没有帮助。

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

【问题讨论】:

  • 我的第一步是更新 R 和软件包。
  • 谢谢,完成了这项工作。

标签: java r xlconnect


【解决方案1】:

此问题很可能与 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相关的包;例如选项(java.parameters =“-Xss5m”)或 选项(java.parameters = "-Xss10m")

【讨论】:

  • 感谢您的回答。您提到的第二种方式(RStudio 设置堆栈大小),可能这也是为什么我的许多脚本在 RStudio 中完美运行,但在 RConsole 中由于奇怪的原因(或内存不足)而失败的原因?
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2015-12-24
    • 1970-01-01
    • 2015-07-30
    • 2016-12-13
    • 2019-05-25
    • 2020-05-20
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多