从命令提示符运行(工作)R脚本时出错

从命令提示符运行(工作)R脚本时出错,r,batch-file,R,Batch File,我正在尝试从Windows命令提示符运行R脚本(原因是稍后我想使用VBA运行该脚本) 设置了R环境变量后(请参见文章末尾),保存在R\u code.R中的以下代码行可以正常工作: library('xlsx') x <- cbind(rnorm(10),rnorm(10)) write.xlsx(x, 'C:/Temp/output.xlsx') 不幸的是,当我尝试从命令提示符运行与以前相同的脚本(Rscript C:\Temp\R\u code2.R)时,出现以下错误: Error i

我正在尝试从Windows命令提示符运行R脚本(原因是稍后我想使用VBA运行该脚本)

设置了R环境变量后(请参见文章末尾),保存在
R\u code.R
中的以下代码行可以正常工作:

library('xlsx')
x <- cbind(rnorm(10),rnorm(10))
write.xlsx(x, 'C:/Temp/output.xlsx')
不幸的是,当我尝试从命令提示符运行与以前相同的脚本(
Rscript C:\Temp\R\u code2.R
)时,出现以下错误:

Error in FUN(c("norm", "norm"))[[1L]], ...) :
cannot find the function "existsFunction"
Calls: mvdc -> mvdcCheckM -> mvd.has.marF -> vapply -> FUN
你对如何着手解决这个问题有什么想法吗? 非常感谢您的帮助,S

设置R环境变量(Windows) 对于那些想要复制代码的人,为了设置环境变量,您必须:

  • 右键单击计算机->属性->高级系统设置->环境变量
  • 双击“路径”并添加
    后接Rscript.exe文件夹的路径。就我而言,它是
    ;C:\ProgramFiles\R\R-3.1.1\bin\x64

  • 对于那些感兴趣的人,我只需在命令提示符中键入以下命令即可解决问题:

    R CMD BATCH C:\Temp\R_code2.R
    

    我仍然不清楚以前的命令为什么不起作用。无论如何,再次搜索R文档()证明是一个很好的选择

    这是一个棘手的问题,以前曾咬过我。根据文档(
    ?Rscript

    Rscript省略了方法包,因为它需要大约60%的启动时间


    因此,更好的解决方案是在脚本顶部附近添加
    library(methods)

    如果查看mvd.has.marF,它是否有“existsFunction”功能?谢谢@Berry我不知道如何检查。非常感谢!工作非常完美(并且比预期的要快一点)。贝斯特,S。
    R CMD BATCH C:\Temp\R_code2.R