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

capture.and.writeR Documentation

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)

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.

Value

return value of capture.output(EXPR).

Author(s)

Martin Maechler, ETH Zurich

See Also

head, tail

Examples

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)

mmaechler/sfsmisc documentation built on Feb. 28, 2024, 4:18 a.m.