On 2 July 2012 at 12:00, Dirk Eddelbuettel wrote:
| 
| On 2 July 2012 at 09:23, Charlie Friedemann wrote:
| | The error message you are getting makes it rather clear what the problem 
is. 
| | R is unable to find the function 'hasArg'.  As the hasArg function is part
| | of the package 'methods', a solution would be to put require(methods) at the
| | beginning of your script.
| | 
| | For whatever reason, loading R via Rscript does not load the base package
| | "methods" whereas loading the R console does. I'm not entirely sure why this
| | is the case, and I'm sure someone who knows more about the differences
| | between the two could chime in here.
| 
| That was a design decision in Rscript as loading 'methods' is slow.  And
| FWIW, littler does the same:
| 
|   edd@max:~$ r -e'print(search())'
|   [1] ".GlobalEnv"   "Autoloads"    "package:base"
|   edd@max:~$ r -lmethods -e'print(search())'
|   [1] ".GlobalEnv"      "package:methods" "Autoloads"       "package:base"   
|   edd@max:~$ 

Maybe I should revisit this, though, as littler beats Rscript even when
loading methods --- and I could then argue that little is less confusing :)

edd@max:~$ time r -e 'q("no")'

real    0m0.366s
user    0m0.604s
sys     0m0.304s
edd@max:~$ time r -lmethods -e 'q("no")'

real    0m0.420s
user    0m0.648s
sys     0m0.476s
edd@max:~$ time Rscript -e 'q("no")'

real    0m0.485s
user    0m0.712s
sys     0m0.544s
edd@max:~$ 

Dirk

-- 
Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to