[R] more or less pager

(Ted Harding) Ted.Harding at nessie.mcc.ac.uk
Fri Feb 6 20:58:56 CET 2004


On 06-Feb-04 David A. van Leeuwen wrote:
>## Default pager
> PAGER=${PAGER-'/usr/bin/less'}
> 
> But i think it really is because R-users apparently don't look at 
> dataframes with more than, say, 24 rows.  I always seem to be
> intetrested in column names with some rows of data, so often I type
> 
>  > data[1,]
> 
> just to see what the columns were called again.

I don't think there's a way of getting long output from a raw command
(which "data[1,]" is) to be paged in an interactive terminal (though
I stand to be corrected and would be interested in the details if I
am wrong). If the output is not too long, the scroll bar on the xterm
running R (or Shift-PgUp/Shift-PgDn) will allow you to look at what
has scrolled up off the screen.

> In order to circumvent the problem of data running off the screen, I've
> made a simple hack:
> 
> more <- function(x) {
> ...
> }
> 
> which isn't the prettiest implementation of `tmpfile', but hey, it 
> allows my to type
> 
>  > more(data)

Since [above] your default pager is 'less', you can do

  page(data)

without defining a new function for it. See "?page". (Here, "data"
is no longer a "raw command" since it is wrapped in "page").

You may also be interested in the following, which I owe to helpful
people on the R list. In my ~/.Rprofile I have the following lines:

.xthelp <- function() {
    tdir <- tempdir()
    pgr <- paste(tdir, "/pgr", sep="")
    con <- file(pgr, "w")
    cat("#! /bin/bash\n", file=con)
    cat("export HLPFIL=`mktemp ", tdir, "/R_hlp.XXXXXX`\n", sep="",
        file=con)
    cat("cat > $HLPFIL\nxterm -e less $HLPFIL &\n", file=con)
    close(con)
    system(paste("chmod 755 ", pgr, sep=""))
    options(pager=pgr)
}
.xthelp()
rm(.xthelp)

After these have been read in and executed at R startup, the command

  page(data)

will open a separate xterm window in which the output from "data"
will be displayed via 'less'. The same applies if you look up
something R-ish using the "?" help command and the "help.search"
command.

Hoping this helps,
Ted.


--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 167 1972
Date: 06-Feb-04                                       Time: 19:58:56
------------------------------ XFMail ------------------------------




More information about the R-help mailing list