## Read Data Values

## Usage

    scan(file="", what= double(0), nmax=-1, n=-1, sep="", skip=0, nlines=0,
             na.strings="NA", flush=FALSE, strip.white=FALSE, quiet=FALSE)

## Arguments

`file` | the name of a file to read data values from. If the specified file is `""`, then input is taken from the keyboard (in this case input can be terminated by a blank line).
`what` | the type of `what` gives the type of data to be read. If `what` is a list, it is assumed that the lines of the data file are records each containing `length(what)` items (``fields'').
`nmax` | the maximum number of data values to be read, or if `what` is a list, the maximum number of records to be read. If omitted, `scan` will read to the end of `file`.
`n` | the maximum number of data values to be read, defaulting to no limit.
`sep` | by default, scan expects to read white-space delimited input fields. Alternatively, `sep` can be used to specify a character which delimits fields.
`skip` | this many lines of the input file should be skipped before starting to read data values.
`nlines` | the maximum number of lines of data to be read.
`na.strings` | character string, indicating which character fields in the file should tranlate to missing (`NA`) values.
`flush` | logical; if `TRUE`, `scan` will flush to the end of the line after reading the last of the fields requested. This allows putting comments after the last field.
`strip.white` | vector of logical value(s) corresponding to items in the `what` argument. It is used only when `sep` has been specified, and allows to strip leading and trailing white space from `character` fields (`numeric` fields are always stripped). If `strip.white` is of length 1, it applies to all fields; otherwise, if `strip.white[i]` is `TRUE` and the `i`-th field is character (because `what[i]` is), then the leading and trailing white space from field `i` is stripped.
`quiet` | logical; if `FALSE` (default), scan(.) will print a line, telling what fields have been read.

## Description

The value of `what` can be a list of types, in which case `scan` returns a list of vectors with the types given by the types of the elements in `what`. This provides a way of reading columnar data.

Keyboard entry is terminated by typing a blank line.

## See Also

`read.table` for more user-friendly reading of data matrices. `write`.

## Examples

    system("echo 'TITEL extra line' > ex.data")
    system("echo 2 3 5 7 >> ex.data")
    system("echo 11 13 17 >> ex.data")
    pp <- scan("ex.data", skip = 1, quiet= TRUE)
        scan("ex.data", skip = 1)
        scan("ex.data", skip = 1, nlines=1)# only 1 line after the skipped one
    str(scan("ex.data", what = list("","",""))) # flush is F -> read "7"
    str(scan("ex.data", what = list("","",""), flush = TRUE))

[Package Contents]