我在加载xlsx包和使用choose.files时遇到了一个奇怪的问题。
这个问题在我更新RStudio到最新版本(v0.97.237)后立即出现。如果我启动RStudio然后加载xlsx(即
我尝试重新安装xlsx包(以及xlsxjars和rJava),但没有成功。重新安装Java也没有起作用。
有什么建议吗?我正在使用R v2.15.2。
编辑: 这是问题所在。对于任何困惑,我表示抱歉。当我输入以下内容时:
我可以成功选择文件名,但是xlsx包无法加载,所以无法打开数据文件。我得到了上面的错误。然而,如果我在关闭并重新启动RStudio之后运行以下代码:
xlsx包可以正常加载,但是file.choose导致R运行时间过长,脚本会冻结,无法加载文件。使用choose.files()也是同样的情况。我不知道为什么这两个东西(xlsx和file.choose/choose.files)会冲突,但是看起来它们确实冲突了,因为我只能使用其中一个,取决于我先使用哪一个。
编辑2: 我在另一台电脑上尝试了一下(相同的操作系统,相同的R、RStudio和Java版本),结果出现了同样的问题。
编辑3: 我转回了RStudio v0.97.90,问题就解决了。我猜这是一个RStudio的问题。
这个问题在我更新RStudio到最新版本(v0.97.237)后立即出现。如果我启动RStudio然后加载xlsx(即
library(xlsx)
),包可以正常加载。然而,如果我尝试使用choose.files()
,RStudio会冻结(实际上它会持续运行,无法在没有Win7任务管理器的情况下关闭)。如果我启动RStudio并首先使用choose.files,它可以正常工作。然后再运行library(xlsx)
,xlsx包将无法加载。它会给出下面的错误。我尝试重新安装xlsx包(以及xlsxjars和rJava),但没有成功。重新安装Java也没有起作用。
有什么建议吗?我正在使用R v2.15.2。
library(xlsx)
Loading required package: xlsxjars
Loading required package: rJava
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error : .onLoad failed in loadNamespace() for 'xlsxjars', details:
call: .jinit()
error: Cannot create Java virtual machine (-4)
Error: package ‘xlsxjars’ could not be loaded
编辑: 这是问题所在。对于任何困惑,我表示抱歉。当我输入以下内容时:
filename<-file.choose() #select file
library(xlsx)
mydata<-read.xlsx(filename,1) #load datafile
我可以成功选择文件名,但是xlsx包无法加载,所以无法打开数据文件。我得到了上面的错误。然而,如果我在关闭并重新启动RStudio之后运行以下代码:
library(xlsx)
filename<-file.choose() #select file
mydata<-read.xlsx(filename,1) #load datafile
xlsx包可以正常加载,但是file.choose导致R运行时间过长,脚本会冻结,无法加载文件。使用choose.files()也是同样的情况。我不知道为什么这两个东西(xlsx和file.choose/choose.files)会冲突,但是看起来它们确实冲突了,因为我只能使用其中一个,取决于我先使用哪一个。
编辑2: 我在另一台电脑上尝试了一下(相同的操作系统,相同的R、RStudio和Java版本),结果出现了同样的问题。
编辑3: 我转回了RStudio v0.97.90,问题就解决了。我猜这是一个RStudio的问题。
library(xlsx)
之前调用.jinit(parameters=c("-Xrs", "-Xss1m"))
将解决此问题。 - Kornelius Rohmeyer