textConnection {base} | R Documentation

## Text Connections

### Description

Input and output text connections.

### Usage

    textConnection(object, open = "r")

### Arguments

`object` | character. A description of the connection. For an input is an R character vector object, and for an output connection the name for the R character vector to receive the output.
`open` | character. Either `"r"` (or equivalently `""`) for an input connection or `"w"` or `"a"`for an output connection.

### Details

An input text connection is opened and the character vector is copied at time the connection object is created, and `close` destroys the copy.

An output text connection is opened and creates an R character vector of the given name in the user's workspace. This object will at all times hold the completed lines of output to the connection, and `isIncomplete` will indicate if there is an incomplete final line. Closing the connection will output the final line, complete or not.

Opening a text connection with `mode = "a"` will attempt to append to an existing character vector with the given name in the user's workspace. If none is found (even if an object exists of the right name but the wrong type) a new character vector wil be created, with a warning.

You cannot `seek` on a text connection, and `seek` will always return zero as the position.

### Value

A connection object of class `"textConnection"` which inherits from class `"connection"`.

### See Also

`connections`, `showConnections`, `pushBack`

### Examples

    zz <- textConnection(LETTERS)
    readLines(zz, 2)
    scan(zz, "", 4)
    pushBack(c("aa", "bb"), zz)
    scan(zz, "", 4)
    close(zz)

    zz <- textConnection("foo", "w")
    writeLines(c("testit1", "testit2"), zz)
    cat("testit3 ", file=zz)
    isIncomplete(zz)
    cat("testit4\n", file=zz)
    isIncomplete(zz)
    close(zz)
    foo

    # capture R output: use part of example from help(lm)
    zz <- textConnection("foo", "w")
    ctl <- c(4.17, 5.58, 5.18, 6.11, 4.5, 4.61, 5.17, 4.53, 5.33, 5.14)
    trt <- c(4.81, 4.17, 4.41, 3.59, 5.87, 3.83, 6.03, 4.89, 4.32, 4.69)
    group <- gl(2, 10, 20, labels = c("Ctl", "Trt"))
    weight <- c(ctl, trt)
    sink(zz)
    anova(lm.D9 <- lm(weight ~ group))
    cat("\nSummary of Residuals:\n\n")
    summary(resid(lm.D9))
    sink()
    close(zz)
    cat(foo, sep = "\n")

[Package Contents]