Rev 11763 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\name{read.table}\alias{read.table}\alias{read.csv}\alias{read.csv2}\alias{read.delim}\alias{read.delim2}\title{Data Input}\description{Reads a file in table format and creates a data frame from it, withcases corresponding to lines and variables to fields in the file.}\usage{read.table(file, header = FALSE, sep = "", quote = "\"'", dec = ".",row.names, col.names, as.is = FALSE, na.strings = "NA",skip = 0, check.names = TRUE, fill = FALSE,strip.white = FALSE, blank.lines.skip = TRUE)read.csv(file, header = TRUE, sep = ",", quote="\"", dec=".",fill = TRUE, \dots)read.csv2(file, header = TRUE, sep = ";", quote="\"", dec=",",fill = TRUE, \dots)read.delim(file, header = TRUE, sep = "\t", quote="\"", dec=".",fill = TRUE, \dots)read.delim2(file, header = TRUE, sep = "\t", quote="\"", dec=",",fill = TRUE, \dots)}\arguments{\item{file}{the name of the file which the data are to be read from.Each row of the table appears as one line of the file. If it doesnot contain an \emph{absolute} path, the file name is\emph{relative} to the current working directory,\code{\link{getwd}()}.Alternatively, \code{file} can be a \code{\link{connection}}, whichwill be opened if necessary, and if so closed at the end of thefunction call. However, since the file must be read twice, thiswill be resource-intensive except on seekable connections.}\item{header}{a logical value indicating whether the file contains thenames of the variables as its first line. If missing, the value isdetermined from the file format: \code{header} is set to \code{TRUE}if and only if the first row contains one fewer field than thesecond.}\item{sep}{the field separator character. Values on each line of thefile are separated by this character. If \code{sep = ""} theseparator is ``white space'', that is one or more spaces, tabs ornewlines.}\item{quote}{the set of quoting characters. To disable quotingaltogether, use \code{quote=""}. See \code{\link{scan}} for thebehaviour on quotes embedded in quotes.}\item{dec}{the character used in the file for decimal points.}\item{row.names}{a vector of row names. This can be a vector givingthe actual row names, or a single number giving the column of thetable which contains the row names, or character string giving thename of the table column containing the row names.}\item{col.names}{a vector of optional names for the variables.The default is to use \code{"V"} followed by the column number.}\item{as.is}{the default behavior of \code{read.table} is to convertnon-numeric variables to factors. The variable \code{as.is}controls this conversion. Its value is either a vector of logicals(values are recycled if necessary), or a vector of numeric indiceswhich specify which columns should be left as character strings.}\item{na.strings}{a vector strings which are to be interpreted as\code{\link{NA}} values.}\item{skip}{the number of lines of the data file to skip beforebeginning to read data.}\item{check.names}{logical. If \code{TRUE} then the names of thevariables in the data frame are checked to ensure that they aresyntactically valid variable names. If necessary they are adjusted(by \code{\link{make.names}}) so that they are.}\item{fill}{logical. If \code{TRUE} then in case the rows have unequallength, blank fields are implicitly added.}\item{strip.white}{logical. Used only when \code{sep} hasbeen specified, and allows the stripping of leading and trailingwhite space from \code{character} fields (\code{numeric} fieldsare always stripped). See \code{\link{scan}} for further details,remembering that the columns may include the row names.}\item{blank.lines.skip}{logical: if \code{TRUE} blank lines in theinput are ignored.}\item{\dots}{Further arguments to \code{read.table}.}}\value{A data frame (\code{\link{data.frame}}) containing a representation ofthe data in the file.This function is the principal means of reading tabular data into \R.}\details{\code{read.csv} and \code{read.csv2} are identical to\code{read.table} except for the defaults. They are intended forreading ``comma separated value'' files (\file{.csv}) or the variantused in countries that use a comma as decimal point and a semicolonas field separator. Similarly, \code{read.delim} and\code{read.delim2} are for reading delimited files, defaulting to theTAB character for the delimiter. Notice that \code{header = TRUE} and\code{fill = TRUE} in these variants.}\note{The implementation of \code{read.table} currently reads everything ascharacter using \code{\link{scan}} and subsequently defines\code{"numeric"} or \code{\link{factor}} variables.This is quite memory consuming for files of thousands of records andmay need larger memory, see \code{\link{Memory}}.}\seealso{\code{\link{scan}},\code{\link{read.fwf}} for reading \emph{f}ixed \emph{w}idth\emph{f}ormatted input;\code{\link{read.table.url}} for ``reading'' data from the internet;\code{\link{write.table}};\code{\link{data.frame}}.}\keyword{file}\keyword{connection}