Tom Roche
2012-Sep-06 23:27 UTC
[R] [Rscript] difficulty passing named arguments from commandline
Wanting a commandline solution (for a problem detailed @ http://mailman.unidata.ucar.edu/mailing_lists/archives/netcdfgroup/2012/msg00279.html ) I turned to Rscript, and whacked out the q'n'd https://github.com/TomRoche/GEIA_to_netCDF/blob/master/netCDF.stats.to.stdout.r However it wasn't as quick as hoped, because I spent quite a bit of time figuring out how to pass the arguments. This works (note the quoting): $ Rscript ./netCDF.stats.to.stdout.r 'netcdf.fp="./GEIA_N2O_oceanic.nc"' 'var.name="emi_n2o"'> For ./GEIA_N2O_oceanic.nc var=emi_n2o > cells=64800 > obs=36143 > min=5.96e-08 > max=1.17e+03 > mean=99.5 > med=67.7but this fails roche at amad1:/project/inf14w/roche/GEIA_to_netCDF $ Rscript ./netCDF.stats.to.stdout.r 'netcdf.fp=./GEIA_N2O_oceanic.nc' 'var.name=emi_n2o'> Error in eval(expr, envir, enclos) : object '.' not found > Calls: eval -> eval > Execution haltedand this fails roche at amad1:/project/inf14w/roche/GEIA_to_netCDF $ Rscript ./netCDF.stats.to.stdout.r netcdf.fp="GEIA_N2O_oceanic.nc" var.name="emi_n2o"> Error in eval(expr, envir, enclos) : > object 'GEIA_N2O_oceanic.nc' not found > Calls: eval -> eval > Execution haltedand this fails roche at amad1:/project/inf14w/roche/GEIA_to_netCDF $ Rscript ./netCDF.stats.to.stdout.r netcdf.fp=./GEIA_N2O_oceanic.nc var.name=emi_n2o> Error in eval(expr, envir, enclos) : object '.' not found > Calls: eval -> eval > Execution haltedMust the quoting be so strict/brittle, or am I missing something? Also, It Would Be Nice if there was more in the `help(Rscript)` examples about argument passing. I for one found the current examples quite terse and unhelpful. TIA, Tom Roche <Tom_Roche at pobox.com>
Ben Tupper
2012-Sep-07 02:38 UTC
[R] [Rscript] difficulty passing named arguments from commandline
Hi Tom, Using the script below I had no trouble. Here's an example Minke:R ben$ Rscript --no-init-file ./argCatcher.rs ./the=trouble .with=./args is=the.y argue ./the=trouble .with=./args is=the.y argue # script starts here # argumentCatcher.rs args = commandArgs(trailing = TRUE) cat(args, sep = "\n") q(runLast = FALSE, status = 0, save = "no") # script ends here What does your R --version report? Minke:R ben$ R --version R version 2.15.0 (2012-03-30) Copyright (C) 2012 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit) Cheers, Ben On Sep 6, 2012, at 7:27 PM, Tom Roche wrote:> > Wanting a commandline solution (for a problem detailed @ > > http://mailman.unidata.ucar.edu/mailing_lists/archives/netcdfgroup/2012/msg00279.html > > ) I turned to Rscript, and whacked out the q'n'd > > https://github.com/TomRoche/GEIA_to_netCDF/blob/master/netCDF.stats.to.stdout.r > > However it wasn't as quick as hoped, because I spent quite a bit of time > figuring out how to pass the arguments. This works (note the quoting): > > $ Rscript ./netCDF.stats.to.stdout.r 'netcdf.fp="./GEIA_N2O_oceanic.nc"' 'var.name="emi_n2o"' >> For ./GEIA_N2O_oceanic.nc var=emi_n2o >> cells=64800 >> obs=36143 >> min=5.96e-08 >> max=1.17e+03 >> mean=99.5 >> med=67.7 > > but this fails > > roche at amad1:/project/inf14w/roche/GEIA_to_netCDF $ Rscript ./netCDF.stats.to.stdout.r 'netcdf.fp=./GEIA_N2O_oceanic.nc' 'var.name=emi_n2o' >> Error in eval(expr, envir, enclos) : object '.' not found >> Calls: eval -> eval >> Execution halted > > and this fails > > roche at amad1:/project/inf14w/roche/GEIA_to_netCDF $ Rscript ./netCDF.stats.to.stdout.r netcdf.fp="GEIA_N2O_oceanic.nc" var.name="emi_n2o" >> Error in eval(expr, envir, enclos) : >> object 'GEIA_N2O_oceanic.nc' not found >> Calls: eval -> eval >> Execution halted > > and this fails > > roche at amad1:/project/inf14w/roche/GEIA_to_netCDF $ Rscript ./netCDF.stats.to.stdout.r netcdf.fp=./GEIA_N2O_oceanic.nc var.name=emi_n2o >> Error in eval(expr, envir, enclos) : object '.' not found >> Calls: eval -> eval >> Execution halted > > Must the quoting be so strict/brittle, or am I missing something? > > Also, It Would Be Nice if there was more in the `help(Rscript)` examples > about argument passing. I for one found the current examples quite terse > and unhelpful. > > TIA, Tom Roche <Tom_Roche at pobox.com> > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.Ben Tupper Bigelow Laboratory for Ocean Sciences 180 McKown Point Rd. P.O. Box 475 West Boothbay Harbor, Maine 04575-0475 http://www.bigelow.org
Seemingly Similar Threads
- [ncdf4] error converting GEIA data to netCDF
- [newbie] failure to plot a RasterLayer with raster::plot or fields::image.plot
- R equivalent of python module structure and functionality?
- shared klibc broken on x86_64 with binutils >= 2.17.50.0.2
- HP Z820 - Does not boot xen