A wrapper around various file reading functions.

read.file(
  file,
  header = T,
  na.strings = "NA",
  comment.char = NULL,
  filetype = c("default", "csv", "txt", "tsv", "fw", "rdata"),
  stringsAsFactors = FALSE,
  readr = FALSE,
  package = NULL,
  ...
)

Arguments

file

character: The name of the file which the data are to be read from. This may also be a complete URL or a path to a compressed file. If it does not contain an absolute path, the file name is relative to the current working directory, getwd(). Tilde-expansion is performed where supported. See read.table() for more details.

header

logical; For .txt and .csv files, this indicates whether the first line of the file includes variables names.

na.strings

character: strings that indicate missing data.

comment.char

character: a character vector of length one containing a single character or an empty string. Use "" to turn off the interpretation of comments altogether.

filetype

one of "default", "csv", "txt", or "rdata" indicating the type of file being loaded. The default is to use the filename to guess the type of file.

stringsAsFactors

a logical indicating whether strings should be converted to factors. This has no affect when using readr.

readr

a logical indicating whether functions from the readr package should be used, if available.

package

if specified, files will be searched for among the documentation files provided by the package.

...

additional arguments passed on to read.table(), or load() or one of the functions in the readr package. Note that a message will indicate which underlying function is being used.

Value

A data frame, unless file unless filetype is "rdata", in which case arbitrary objects may be loaded and a character vector holding the names of the loaded objects is returned invisibly.

Details

Unless filetype is specified, read.file uses the (case insensitive) file extension to determine how to read data from the file. If file ends in .rda or .rdata, then load() is used to load the file. If file ends in .csv, then readr::read_csv() or read.csv() is used. Otherwise, read.table() is used.

Examples

if (FALSE) {
Dome <- read.file("http://www.mosaic-web.org/go/datasets/Dome.csv")
}