我管理许多 Excel 报表,并使用 R 进行预处理并编写输出报表。这很棒,因为我所要做的就是运行 R 函数并分发报告,而其余的报告编写时间都是非活动时间。报告需要采用 Excel 格式,因为它最容易传播,而且受众众多且非技术人员。对数据进行预处理后,我可以非常非常简单地使用 XLConnect:
file.copy(from = template,
to = newFileName)
writeWorksheetToFile(file = newFileName,
data = newData,
sheet = "Data",
clearSheets = T)
但是,当我尝试写入新数据时,我的一份报告开始抛出此错误:
Error in ls(envir = envir, all.names = private) :
invalid 'envir' argument
此外,在抛出错误之前,该函数会占用 R 15 分钟。正常写入时间小于10秒。我必须承认,我什至不明白这个错误是什么意思,它并没有屈服于我通常的调试方法或任何其他 SO 解决方案。
我注意到其他人提到了 rJava(重新安装这个包不起作用)和日志文件的 Java 缓存(不确定它在 Mac 上的位置)。我特别困惑,因为报告在前一天使用完全相同的过程运行没有问题,而我使用完全相同的过程的其他报告仍然可以正常工作。
我没有更新 Java 或 R 或我的操作系统,也没有调试/重写任何 R 代码。那么,从头开始 - 我该如何调查这个“环境”错误?如果你在我的鞋子里,你会怎么做?我已经为此工作了几天,我很困惑。
如果它能为比我更有眼光的程序员提供更好的上下文,我很乐意提供额外的信息:)