Skip to topic | Skip to bottom
Home
Main
Main.LittleRr1.12 - 15 Jan 2008 - 15:20 - JeffreyHornertopic end

You are here: Main > TWikiUsers > JeffreyHorner > LittleR

Start of topic | Skip to actions

littler Project

littler is a command line UNIX program that provides hash-bang (#!) capability for the R Project.

Latest Release

Source: littler-0.1.0.tar.gz [MD5]

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 be downloaded from this page (see above), Dirk Eddelbuettel's site, accessed via subversion using the following command:

         $ svn checkout http://littler.googlecode.com/svn/trunk/ littler

or soon be gotten from Debian mirrors via:

         $ apt-get install littler

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.


to top

You are here: Main > TWikiUsers > JeffreyHorner > LittleR

to top

Home | VUMC Web Email | Medical Center Home | VU | Statistics at Vanderbilt | VICC Cancer Biostatistics Division

Vanderbilt Biostatistics
S-2323 Medical Center North, 1161 21st Avenue South, Nashville, TN 37232-2158
(615) 322-2001 • fax (615) 343-4924
General questions about the department? E-mail biostat@vanderbilt.edu

Copyright © 2003-2008 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Do you have ideas, requests, problems regarding Biostatistics TWiki web site? Send feedback.