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.869604Equivalently, commands that are to be evaluated can be given on the command-line:
$ r -e 'cat(pi^2, "\n")' 9.869604But 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 | 7And, 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/.
$ svn checkout http://littler.googlecode.com/svn/trunk/ littleror soon be gotten from Debian mirrors via:
$ apt-get install littler
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.
I | Attachment | Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|
gz | littler-0.1.1.tar.gz | manage | 116 K | 27 Aug 2008 - 14:05 | UnknownUser | |
md5sum | littler-0.1.1.tar.gz.md5sum | manage | 55 bytes | 27 Aug 2008 - 14:08 | UnknownUser |