Rscript没有"是"功能

时间:2014-07-09 17:50:00

标签: r rscript

我正在尝试使用Rscript从命令行运行一些R脚本。我已经尝试过mac和linux,并在两者上遇到以下问题。如果我只是将它输入R:

,下面的测试脚本就可以正常工作
is

脚本只打印出函数"是"。但是,如果我把它放在这样的文件中:

#!/usr/bin/Rscript
is

然后使用" ./ test.R"运行它。或" Rscript test.R",我收到以下错误:

Error: object 'is' not found
Execution halted

似乎"是"函数没有在Rscript中定义,因为它在R中。我如何让我的脚本工作?

注意:显然我的目标不仅仅是打印出" is"功能。我试图使用gamlss,"是"函数由gamlss调用,导致此错误。

编辑:在R中,sessionInfo()给出:

R version 3.0.2 (2013-09-25)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] tools_3.0.2

从Rscript开始,它给出了:

R version 3.0.2 (2013-09-25)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  base 

1 个答案:

答案 0 :(得分:2)

事实证明解决方案是加载“methods”包(其中包含“is”函数)。我猜它默认加载到R中,但由于某些原因不在Rscript中加载。如果我将脚本更改为:

#!/usr/bin/Rscript
library(methods)
is

然后它从命令行运行良好。