The real problem is that one wants to pipe the data in, not the R source. The idea is that one successively transforms the data in successive elements of the pipeline.
For example one might want to write cut, grep, etc. in R rather than in C. This has been on my year-end wishlist for some time. On 9/26/06, Duncan Murdoch <[EMAIL PROTECTED]> wrote: > On 9/26/2006 1:04 PM, Jeffrey Horner wrote: > > What ? > > ====== > > > > littler - Provides hash-bang (#!) capability for R (www.r-project.org) > > > > > > Why ? > > ===== > > > > GNU R, a language and environment for statistical computing and > > graphics, provides a wonderful system for 'programming with data' > > as well as interactive exploratory analysis, often involving graphs. > > > > Sometimes, however, simple scripts are desired. While GNU R can > > be used in batch mode, and while so-called 'here' documents can be > > crafted, a long-standing need for a scripting front-end has often > > been expressed by the R Community. > > > > littler (pronounced 'little R' and written 'r') aims to fill > > this need. > > > > It can be used directly on the command-line just like, say, bc(1): > > > > > > $ echo 'cat(pi^2,"\n")' | r > > 9.869604 > > Is there a technical reason that this couldn't work by modifying the > script that invokes R? That would avoid the r/R clash on MacOSX and > Windows. In Windows R is R.exe, not a script, so some adjustment would > be needed there, but that shouldn't be difficult. > > Duncan Murdoch > > > > > Equivalently, commands that are to be evaluated can be given on > > the command-line > > > > $ r -e 'cat(pi^2, "\n")' > > 9.869604 > > > > But unlike bc(1), GNU R has a vast number of statistical > > functions. For example, we can quickly compute a summary() and show > > a stem-and-leaf plot for file sizes in a given directory via > > > > $ ls -l /boot | awk '!/^total/ {print $5}' | \ > > r -e 'fsizes <- as.integer(readLines()); > > print(summary(fsizes)); stem(fsizes)' > > Min. 1st Qu. Median Mean 3rd Qu. Max. > > 13 512 110100 486900 768400 4735000 > > Loading required package: grDevices > > > > The decimal point is 6 digit(s) to the right of the | > > > > 0 | 00000000000000000011112223 > > 0 | 5557778899 > > 1 | 112233 > > 1 | 5 > > 2 | > > 2 | > > 3 | > > 3 | > > 4 | > > 4 | 7 > > > > > > And, last but not least, this (somewhat unwieldy) expression can > > be stored in a helper script: > > > > $ cat examples/fsizes.r > > #!/usr/bin/env r > > > > fsizes <- as.integer(readLines()) > > print(summary(fsizes)) > > stem(fsizes) > > > > (where calling /usr/bin/env is a trick from Python which allows one > > to forget whether r is installed in /usr/bin/r, /usr/local/bin/r, > > ~/bin/r, ...) > > > > A few examples are provided in the source directories examples/ > > and tests/. > > > > Where ? > > ======= > > > > littler can either be downloaded from > > > > http://biostat.mc.vanderbilt.edu/LittleR > > > > accessed by anonymous SVN: > > > > $ svn co http://littler.googlecode.com/svn/trunk/ littler > > > > or (soon !) be gotten from Debian mirrors via > > > > $ agt-get install littler > > > > littler is known to build and run on Linux and OS X. > > > > > > Who ? > > ===== > > > > Copyright (C) 2006 Jeffrey Horner and Dirk Eddelbuettel > > > > littler is free software; you can redistribute it and/or modify it > > under the terms of the GNU General Public License as published by > > the Free Software Foundation; either version 2 of the License, or > > (at your option) any later version. > > > > This program is distributed in the hope that it will be useful, > > but WITHOUT ANY WARRANTY; without even the implied warranty of > > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > General Public License for more details. > > > > You should have received a copy of the GNU General Public > > License along with this program; if not, write to the Free > > Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, > > MA 02111-1307 USA > > > > Comments are welcome, as are are suggestions, bug fixes, or patches. > > > > > > - Jeffrey Horner <[EMAIL PROTECTED]> > > - Dirk Eddelbuettel <[EMAIL PROTECTED]> > > > > ______________________________________________ > > R-help@stat.math.ethz.ch 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. > > ______________________________________________ > R-help@stat.math.ethz.ch 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. > ______________________________________________ R-help@stat.math.ethz.ch 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.