Dirk Eddelbuettel littler: a scripting front-end for GNU R
 

What ?

littler provides hash-bang (i.e. script starting with #!/some/path) capability for GNU R, as well as simple command-line and piping use.

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 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

	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 be downloaded from either the Vanderbilt BioStat Wiki or the local archive here or accessed via SVN from
	svn co http://littler.googlecode.com/svn/trunk/ littler
It can also be obtained from Debian mirrors via a simple
	$ apt-get install littler
provided apt is pointed to the testing or unstable distributions. littler is known to build and run on Linux and OS X.

What else

A few more questions are addressed in the README file which also contains a brief FAQ section.

Who ?

Copyright (C) 2006, 2007, 2008 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
- Dirk Eddelbuettel

Last modified: Wed Apr 30 20:42:17 CDT 2008