sfsmisc (version 1.1-17)

capture.and.write: Capture output and Write / Print First and Last Parts

Description

Capture output and print first and last parts, eliding middle parts. Particularly useful for teaching purposes, and, e.g., in Sweave (RweaveLatex).

By default, when middle = NA, capture.output(EXPR, first, last) basically does


    co <- capture.output(EXPR)
    writeLines(head(co, first))
    cat( ... dotdots ...)
    writeLines(tail(co, last))
  

Usage

capture.and.write(EXPR, first, last = 2, middle = NA,
                  i.middle, dotdots = " ....... ", n.dots = 2)

Value

return value of capture.output(EXPR).

Arguments

EXPR

the (literal) expression the output of which is to be captured.

first

integer: how many lines should be printed at beginning.

last

integer: how many lines should be printed at the end.

middle

numeric (or NA logical):

i.middle

index start of middle part

dotdots

string to be used for elided lines

n.dots

number of dotdots lines added between parts.

Author

Martin Maechler, ETH Zurich

See Also

Examples

Run this code
x <- seq(0, 10, by = .1)

## for matrix, dataframe, .. first lines include a header line:
capture.and.write( cbind(x, log1p(exp(x))),  first = 5)

## first, *middle* and last :
capture.and.write( cbind(x, x^2, x^3), first = 4, middle = 3, n.dots= 1)

Run the code above in your browser using DataLab