错误在ls(envir = envir,all.names = private)?

当我尝试使用'XLConnect'包读取到R的excel文件时,下面的错误不断出现。

Error in ls(envir = envir, all.names = private) : invalid 'envir' argument 

我实际上遇到了这个错误,甚至使用其他包,如包'xlsx'和'xlsReadWrite'读取Excel文件。 很多时候重新启动R会话解决了这个问题,这导致我认为我在R会话中正在做的其他事情正在改变环境,不允许我再加载Excel文件。 下面是导致此错误的代码的最新示例。 在这种情况下,我知道以下编码顺序会导致错误出现 – 但为什么会发生? 我怎么能通过这个错误,如果我需要chron包。

 library("XLConnect") wb2 <- loadWorkbook("excel_file", create = FALSE) library(chron) wb2 <- loadWorkbook("excel_file", create = FALSE) 

任何人遇到这个问题之前呢? 在这个问题上的任何帮助,不胜感激!

在重新打开工作簿之前,尝试删除对之前打开的工作簿的引用,所以:rm(wb2)wb2 < – loadWorkbook(“excel_file”,create = FALSE)

另外,在运行Rtesting时,请确保“excel_file”不是由excel或其他程序打开的。

我看到使用XLConnect时出现同样的错误,上面的内容似乎有所帮助。

有这个问题几次,并且调用堆栈看起来像这个消息是在引发“OutOfMemory”exception时产生的。

为了解决这个问题,我使用了:

options( java.parameters = "-Xmx4g" )

增加rJava能够使用的堆大小。

debuggingoptions(error=utils::recover)帮助了很多,因为R错误信息不是很明确。