[Rd] Putting demo shell scripts, text files, and RScript files with a package?
Martin Maechler
maechler at stat.math.ethz.ch
Wed Mar 18 08:52:51 CET 2009
>>>>> "DR" == David Rosenberg <drosen at stat.berkeley.edu>
>>>>> on Tue, 17 Mar 2009 13:25:46 -0400 writes:
DR> I've written a package to assist with using R in Hadoop Streaming.
DR> The main point of the package is to help make command-line runnable
DR> RScript files. I'd like to provide a demo RScript file, a demo data
DR> file (e.g. a plaintext file, not something already processed by R) ,
DR> as well as demo bash shell scripts that demonstrate how to run the job
DR> from the command line and in a Hadoop cluster.
DR> My best idea so far for distributing these files is to package the
DR> contents of these files as a list of strings in a data file in the
DR> data directory, and include a function in the package, say
DR> generateDemoFolder(targetDir), that writes the files to a user-
DR> specified directory, ready for use from the command line.
I think you've overlooked the possibility of <sourcePkg>/inst/
I would use something like <sourcePkg>/inst/scripts/
which will become <installedPkg>/scripts/
[accessible from within R by system.file("scripts", package= "<yourPkg>")
One "famous" example being the R scripts for Venables&Ripley's
MASS book, available from all R installations via
system.file("scripts", package="MASS")
e.g.
> list.files(system.file("scripts", package="MASS"))
[1] "ch01.R" "ch02.R" "ch03.R" "ch04.R" "ch05.R" "ch06.R" "ch07.R" "ch08.R" "ch09.R"
[10] "ch10.R" "ch11.R" "ch12.R" "ch13.R" "ch14.R" "ch15.R" "ch16.R"
or
> source(system.file("scripts", "ch01.R", package="MASS"))
{ which ends in an error: It's not made for source();
it might well be source()able if
'if(interactive()) ' where replaced by
'if(dev.interactive()) '
}
Martin Maechler, ETH Zurich
More information about the R-devel
mailing list