R: Character Output

as.output {iotools} | R Documentation

## Character Output

### Description

Create objects of class `output`.

### Usage

      as.output(x, ...)

### Arguments

`x` | object to be converted to an instance of `output`.
`...` | optional arguments to be passed to implementing methods of `as.output`. Most methods support the following arguments: `sep` string, column/value separator, `nsep` string, key separator, `keys` either a logical (if `FALSE` names/row names are suppressed) or a character vector with overriding keys. The default for `keys` typically varies by class or is auto-detected (e.g., named vectors user names as keys, `data.frames` use row names if they are non-automatic etc.). All methods also support `con` argument which pushes the output into a connection instead of generating an output object - so `as.output(x, con=...)` is thus not a coersion but used only for its side-effect. Note that `con` also supports special values `iotools.stdout`, `iotools.stderr` and `iotools.fd(fd)` which write directly into the corresponding streams instead of using theconnection API.

### Details

`as.output` is generic, and methods can be written to support new classes. The output is meant to be a raw vector suitable for writing to the disk or sending over a connection.

### Value

if `con` is set to a connection then the result is `NULL` and the method is used for its side-effect, otherwise the result is a raw vector.

Side note: we cannot create a formal type of `output`, because `writeBin` does `is.vector()` check which doesn't dispatch and prevents anything with a class to be written.

### Author(s)

Simon Urbanek

### Examples

      m = matrix(sample(letters), ncol=2)
      as.output(m)

      df = data.frame(a = sample(letters), b = runif(26), c = sample(state.abb,26))
      str(as.output(df))

      as.output(df, con=iotools.stdout)

[Package iotools version 0.3-1 Index]