场景
经常会用R写些数据处理的小脚本,并在windows中设定计划任务自动运行。基本套路就是计划任务定时调用bat,bat里内容为“Rscript xxx.R”。这个错误让人蛋疼就在于,R脚本文件在Rstudio中是能正常运行无错误的。但通过bat在cmd中运行就会报错。错误如下:
Error in .setupMethodsTables(fdef, initialize = TRUE) :
trying to get slot "group" from an object of a basic class ("NULL") with no slots
Calls: 你定义的函数名... getMethodsForDispatch -> .getMethodsTable -> .setupMethodsTables
...
尝试了各种环境变量配置,中文路径修改,绝对路径调用,重装关联的R package等,均失败。然后找到一个救星。
解决方案
- 在r脚本中额外增加一行代码。
library(methods)
- 是不是完美解决?开不开心,意不意外?
搬运自: https://github.com/twitter/AnomalyDetection/issues/76