Import data from many file formats
Import.RdUses the import function from the rio package to read a data.frame from a variety of file types. The Import function includes 2 additional arguments adding row names and for converting character and logical variables to factors for some file types.
Arguments
- file
A character string naming a file, URL, or .zip or .tar archive. See the details below. If the file name has an extension like
.xlsxor.csvthen the type of file is inferred from the extension.- format
If an extension is not present in the file name or it is wrong, the file format can be set with this argument; see
import.- ...
Additional arguments passed to
import.- row.names
If
TRUE, the default, the left-most character variable that has all unique elements is removed from the data frame and set to berow.names. To matchimport, setrow.names=FALSE.- stringsAsFactors
If
TRUE, then character variables that do not have all unique elements are converted to factors. The default isFALSE. Prior to May 2020 the default was determined bygetOption("stringsAsFactors"), which then defaulted toTRUE. This option isFALSEin R 4.0.0 and has been deprecated.
Details
This function calls the import function to read a data frame from a file. Many file types are supported. For files of type "txt", "csv", "xlsx", "xls" or "ods" the arguments row.names and stringsAsFactors can be used to add row names and convert character variables to factors, respectively. Many more details are given on the man page for import.
Value
A data frame. See import for more details
Author
Sanford Weisberg sandy@umn.edu
Examples
if(require("rio")) {
head(Duncan, 3) # first three rows
Export(Duncan, "Duncan.csv", keep.row.names="occupation")
Duncan2 <- Import("Duncan.csv") # Automatically restores row.names and factors
brief(Duncan2)
identical(Duncan, Duncan2) # FALSE because type is of a different class
Duncan3 <- Import("Duncan.csv", stringsAsFactors=TRUE)
brief(Duncan3)
identical(Duncan, Duncan3) # TRUE type is of same class
# cleanup
unlink("Duncan.csv")
}
#> 45 x 4 data.frame (40 rows omitted)
#> type income education prestige
#> [c] [i] [i] [i]
#> accountant prof 62 86 82
#> pilot prof 72 76 83
#> architect prof 75 92 90
#> . . .
#> policeman bc 34 47 41
#> waiter bc 8 32 10
#> 45 x 4 data.frame (40 rows omitted)
#> type income education prestige
#> [f] [i] [i] [i]
#> accountant prof 62 86 82
#> pilot prof 72 76 83
#> architect prof 75 92 90
#> . . .
#> policeman bc 34 47 41
#> waiter bc 8 32 10