Rev 6098 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\name{scan}\title{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)}\alias{scan}\arguments{\item{file}{the name of a file to read data values from. If thespecified file is \code{""}, then input is taken from the keyboard(in this case input can be terminated by a blank line).Otherwise, the file name is \emph{relative} to the current workingdirectory, \code{\link{getwd}()}, unless it specifies an \emph{absolute} path.}\item{what}{the type of \code{what} gives the type of data to be read.If \code{what} is a list, it is assumed that the lines of the datafile are records each containing \code{length(what)} items (``fields'').}\item{nmax}{the maximum number of data values to be read, or if\code{what} is a list, the maximum number of records to be read.If omitted, \code{scan} will read to the end of \code{file}.}\item{n}{the maximum number of data values to be read, defaulting to no limit.}\item{sep}{by default, scan expects to read white-space delimitedinput fields. Alternatively, \code{sep} can be used to specify acharacter which delimits fields.}\item{skip}{this many lines of the input file should be skippedbefore starting to read data values.}\item{nlines}{the maximum number of lines of data to be read.}\item{na.strings}{character string, indicating \emph{which} characterfields in the file should translate to missing (\code{\link{NA}}) values.}\item{flush}{logical; if \code{TRUE}, \code{scan} will flush to the endof the line after reading the last of the fields requested.This allows putting comments after the last field.}\item{strip.white}{vector of logical value(s) corresponding to items inthe \code{what} argument. It is used only when \code{sep} has beenspecified, and allows to strip leading and trailing white space from\code{character} fields (\code{numeric} fields are always stripped).If \code{strip.white} is of length 1, it applies to all fields;otherwise, if \code{strip.white[i]} is \code{TRUE} \emph{and} the\code{i}-th field is character (because \code{what[i]} is), thenthe leading and trailing white space from field \code{i} is stripped.}\item{quiet}{logical; if \code{FALSE} (default), scan(.) will print aline, telling what fields have been read.}}\details{The value of \code{what} can be a list of types, in which case\code{scan} returns a list of vectors with the types given by thetypes of the elements in \code{what}. This provides a way of readingcolumnar data.Keyboard entry is terminated by typing a blank line.}\note{\code{what=complex()} is not yet supported.}\seealso{\code{\link{read.table}} for more user-friendly reading of data matrices.\code{\link{write}}.}\examples{cat("TITEL 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 onestr(scan("ex.data", what = list("","",""))) # flush is F -> read "7"str(scan("ex.data", what = list("","",""), flush = TRUE))}\keyword{file}