Tom "spot" Callaway
2008-Nov-25 18:11 UTC
[R-sig-Fedora] Problem running R from within a script
On Tue, 2008-11-25 at 13:13 -0500, Joshua Kramer wrote:> Howdy Folks, > > I am running R version 2.7.2 (2008-08-25) on CentOS 5.2 - the standard RPM > distribution. > > I am having a curious occurance trying to run a R script from within a > shell script. Basically, I have a small R script that processes a file. > It takes two parameters - the input file, and the output file. I then > have a shell script that runs the R script for each file matching a glob. > > R is not picking up the correct parameters *when run from the script*. > When I run the command line by itself, it runs fine. > > The command line is this: > > /usr/bin/R CMD BATCH --no-restore --no-save '--args $taxFile $taxFile.taxonomy' batchMakeTax.R batchMakeTax.logI'm just guessing here, but those ' ' single quotes don't seem to make sense. Try dropping them (or moving them to just be around '$taxFile $taxFile.taxonomy'). ~spot
Howdy Folks, I am running R version 2.7.2 (2008-08-25) on CentOS 5.2 - the standard RPM distribution. I am having a curious occurance trying to run a R script from within a shell script. Basically, I have a small R script that processes a file. It takes two parameters - the input file, and the output file. I then have a shell script that runs the R script for each file matching a glob. R is not picking up the correct parameters *when run from the script*. When I run the command line by itself, it runs fine. The command line is this: /usr/bin/R CMD BATCH --no-restore --no-save '--args $taxFile $taxFile.taxonomy' batchMakeTax.R batchMakeTax.log Here's the output of the script: Processing /usr/bin/R CMD BATCH --no-restore --no-save '--args Call0103.xpt Call0103.xpt.taxonomy' batchMakeTax.R batchMakeTax.log /usr/lib/R/bin/BATCH: line 55: Call0103.xpt: Permission denied I do not know why it's trying to write to the input file... any ideas? Here's the shellscript: [josh at localhost cr]$ cat batchMakeTax.sh #!/bin/sh FILES="*.xpt" echo MakeCommand is $makeCommand for taxFile in $FILES do makeCommand="/usr/bin/R CMD BATCH --no-restore --no-save '--args $taxFile $taxFile.taxonomy' batchMakeTax.R batchMakeTax.log" echo "Processing $makeCommand" $makeCommand done ...and, the R script. Note that R never gets as far as running the script, however - the error occurs in the CMD shell script that is under /usr/bin/R/CMD. [josh at localhost cr]$ cat batchMakeTax.R library(foreign) scratchOne <- commandArgs() inFileArg <- scratchOne[10] taxFileArg <- scratchOne[11] sink("debugout.txt", FALSE, "output", FALSE) print (inFileArg) print (taxFileArg) bankData <- read.xport(inFileArg) sink(NULL) sink(taxFileArg, FALSE, "output", FALSE) bdNames <- names(bankData) numCol <- ncol(bankData) i=1 while (i <= numCol) { myVar <- paste(bdNames[i], typeof(bankData[[bdNames[i]]]), sep=":") print(myVar) i=i+1 } q() Thanks! -josh -- ----- http://www.globalherald.net/jb01 GlobalHerald.NET, the Smarter Social Network! (tm)