[R] Using "Rscript" in combination with "eval()" results in error

Janko Thyson janko.thyson at ku-eichstaett.de
Thu Feb 11 16:25:47 CET 2010


Dear List,

I'm having trouble running a .bat file which calls an R-Script via the
command line (using "Rscript").

I put the following line in a file called "test.bat":

Rscript --vanilla test.R

Then I tried to launch "test.bat" via Windows' CMD (I plan to make this a
scheduled Windows task).

The actual R-script ("test.R") is executed just fine until it gets to a line
containing an eval() expression:

eval(parse(file="C:/temp/another.script.R"))

and R (or Windows' CMD, respectively) throws the following error

Error in if (file == "") <- stdin() else { : Argument is of length 0
Calls: source -> eval.with.vis -> eval.wtih.vis -> source
Execution stopped

Usually such "eval()" expressions work just fine in my scripts.

I tried the following already:
1) to.load.file <- file("C:/temp/another.script.R", open="rt");
eval(parse(file=to.load.file): No luck
2) Running "test.R" within a Rterm session: Works fine.
3) Calling the following from within a Rterm session:

system("Rscript C:/temp/test.R", wait=TRUE, invisible=FALSE)

That works too!

Is there something one needs to be aware of regarding "eval()" or "source()"
when launching a script via a CMD call to a .bat file?

Im running Windows XP and R-2.10.1

Any hints greatly appreciated!

Thanks,
Janko



More information about the R-help mailing list