[R] New project: littler for GNU R
Jeffrey Horner
jeff.horner at vanderbilt.edu
Tue Sep 26 19:04:23 CEST 2006
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
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 <jeff.horner at vanderbilt.edu>
- Dirk Eddelbuettel <edd at debian.org>
More information about the R-help
mailing list