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