scan {base}R Documentation

Read Data Values

Description

Read data into a vector or list from the console or file.

Usage

scan(file = "", what = double(0), nmax = -1, n = -1, sep = "",
     quote = "", dec = ".", 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).

Otherwise, the file name is relative to the current working directory, getwd(), unless it specifies an absolute path.

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.
quote the set of quoting characters as a single character string.
dec decimal point character.
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 translate 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.

Details

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.

If sep is nondefault, the fields may be quoted in the style of .csv format files where separators inside quotes ('' or "") are ignored and quotes may be put inside strings by doubling them.

Keyboard entry is terminated by typing a blank line.

See Also

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

Examples

cat("TITLE extra line", "2 3 5 7", "11 13 17", file="ex.data", sep="\n")
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))
unlink("ex.data") # tidy up

[Package Contents]