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)