readTable
Reads a file in table format
Reads a file in table format and creates a data frame from it, with cases corresponding to lines and variables to fields in the file.
WARNING: This method is very much in an alpha stage. Expect it to change.
This method is an extension to the default read.table
function in R. It is possible to specify a column name to column class
map such that the column classes are automatically assigned from the
column header in the file.
In addition, it is possible to read any subset of rows. The method is optimized such that only columns and rows that are of interest are parsed and read into R's memory. This minimizes memory usage at the same time as it speeds up the reading.
- Keywords
- IO
Usage
# S3 method for default
readTable(file, colClasses=NULL, isPatterns=FALSE, defColClass=NA, header=FALSE, skip=0,
nrows=-1, rows=NULL, col.names=NULL, check.names=FALSE, path=NULL, ...,
stripQuotes=TRUE, method=c("readLines", "intervals"), verbose=FALSE)
Arguments
- file
A
connection
or a filename. If a filename, the path specified bypath
is added to the front of the filename. Unopened files are opened and closed at the end.- colClasses
Either a named or an unnamed
character
vector
. If unnamed, it specified the column classes just as used byread.table
. If it is a named vector,names(colClasses)
are used to match the column names read (this requires thatheader=TRUE
) and the column classes are set to the corresponding values.- isPatterns
If
TRUE
, the matching ofnames(colClasses)
to the read column names is done by regular expressions matching.- defColClass
If the column class map specified by a named
colClasses
argument does not match some of the read column names, the column class is by default set to this class. The default is to read the columns in an "as is" way.- header
If
TRUE
, column names are read from the file.- skip
The number of lines (commented or non-commented) to skip before trying to read the header or alternatively the data table.
- nrows
The number of rows to read of the data table. Ignored if
rows
is specified.- rows
An row index
vector
specifying which rows of the table to read, e.g. row one is the row following the header. Non-existing rows are ignored. Note that rows are returned in the same order they are requested and duplicated rows are also returned.- col.names
Same as in
read.table()
.- check.names
Same as in
read.table()
, but default value isFALSE
here.- path
If
file
is a filename, this path is added to it, otherwise ignored.- ...
Arguments passed to
read.table
used internally.- stripQuotes
If
TRUE
, quotes are stripped from values before being parse. This argument is only effective whenmethod=="readLines"
.- method
If
"readLines"
,(readLines())
is used internally to first only read rows of interest, which is then passed toread.table()
. If"intervals"
, contiguous intervals are first identified in the rows of interest. These intervals are the read one by one usingread.table()
. The latter methods is faster and especially more memory efficient if the intervals are not too many, where as the former is preferred if many "scattered" rows are to be read.- verbose
Value
Returns a data.frame
.
See Also
readTableIndex
().
read.table
.
colClasses
().