Export
Write data.frame to a file
export(x, file, format, ...)
x |
A data frame or matrix to be written into a file. Exceptions to this rule are that |
file |
A character string naming a file. Must specify |
format |
An optional character string containing the file format, which can be used to override the format inferred from |
... |
Additional arguments for the underlying export functions. This can be used to specify non-standard arguments. See examples. |
This function exports a data frame or matrix into a file with file format based on the file extension (or the manually specified format, if format
is specified).
The output file can be to a compressed directory, simply by adding an appropriate additional extensiont to the file
argument, such as: “mtcars.csv.tar”, “mtcars.csv.zip”, or “mtcars.csv.gz”.
export
supports many file formats. See the documentation for the underlying export functions for optional arguments that can be passed via ...
Comma-separated data (.csv), using fwrite
or, if fwrite = TRUE
, write.table
with row.names = FALSE
.
Pipe-separated data (.psv), using fwrite
or, if fwrite = TRUE
, write.table
with sep = '|'
and row.names = FALSE
.
Tab-separated data (.tsv), using fwrite
or, if fwrite = TRUE
, write.table
with row.names = FALSE
.
SAS (.sas7bdat), using write_sas
.
SAS XPORT (.xpt), using write_xpt
.
SPSS (.sav), using write_sav
SPSS compressed (.zsav), using write_sav
Stata (.dta), using write_dta
. Note that variable/column names containing dots (.) are not allowed and will produce an error.
Excel (.xlsx), using write.xlsx
. Existing workbooks are overwritten unless which
is specified, in which case only the specified sheet (if it exists) is overwritten. If the file exists but the which
sheet does not, data are added as a new sheet to the existing workbook. x
can also be a list of data frames; the list entry names are used as sheet names.
R syntax object (.R), using dput
(by default) or dump
(if format = 'dump'
)
Saved R objects (.RData,.rda), using save
. In this case, x
can be a data frame, a named list of objects, an R environment, or a character vector containing the names of objects if a corresponding envir
argument is specified.
Serialized R objects (.rds), using saveRDS
. In this case, x
can be any serializable R object.
"XBASE" database files (.dbf), using write.dbf
Weka Attribute-Relation File Format (.arff), using write.arff
Fixed-width format data (.fwf), using write.table
with row.names = FALSE
, quote = FALSE
, and col.names = FALSE
gzip comma-separated data (.csv.gz), using write.table
with row.names = FALSE
Apache Arrow Parquet (.parquet), using write_parquet
Feather R/Python interchange format (.feather), using write_feather
Fast storage (.fst), using write.fst
JSON (.json), using toJSON
. In this case, x
can be a variety of R objects, based on class mapping conventions in this paper: https://arxiv.org/abs/1403.2805.
Matlab (.mat), using write.mat
OpenDocument Spreadsheet (.ods), using write_ods
. (Currently only single-sheet exports are supported.)
HTML (.html), using a custom method based on xml_add_child
to create a simple HTML table and write_xml
to write to disk.
XML (.xml), using a custom method based on xml_add_child
to create a simple XML tree and write_xml
to write to disk.
YAML (.yml), using as.yaml
Clipboard export (on Windows and Mac OS), using write.table
with row.names = FALSE
When exporting a data set that contains label attributes (e.g., if imported from an SPSS or Stata file) to a plain text file, characterize
can be a useful pre-processing step that records value labels into the resulting file (e.g., export(characterize(x), "file.csv")
) rather than the numeric values.
Use export_list
to export a list of dataframes to separate files.
The name of the output file as a character string (invisibly).
library("datasets") # specify only `file` argument export(mtcars, "mtcars.csv") ## Not run: # Stata does not recognize variables names with '.' export(mtcars, "mtcars.dta") ## End(Not run) # specify only `format` argument "mtcars.dta" %in% dir() export(mtcars, format = "stata") "mtcars.dta" %in% dir() # specify `file` and `format` to override default format export(mtcars, file = "mtcars.txt", format = "csv") # export multiple objects to Rdata export(list(mtcars = mtcars, iris = iris), "mtcars.rdata") export(c("mtcars", "iris"), "mtcars.rdata") # export to non-data frame R object to RDS or JSON export(mtcars$cyl, "mtcars_cyl.rds") export(list(iris, mtcars), "list.json") # pass arguments to underlying export function export(mtcars, "mtcars.csv", col.names = FALSE) # write data to .R syntax file and append additional data export(mtcars, file = "data.R", format = "dump") export(mtcars, file = "data.R", format = "dump", append = TRUE) source("data.R", echo = TRUE) # write to an Excel workbook ## Not run: ## export a single data frame export(mtcars, "mtcars.xlsx") ## export NAs to Excel as missing via args passed to `...` mtcars$drat <- NA_real_ mtcars %>% export("tst2.xlsx", keepNA = TRUE) ## export a list of data frames as worksheets export(list(a = mtcars, b = iris), "multisheet.xlsx") ## export, adding a new sheet to an existing workbook export(iris, "mtcars.xlsx", which = "iris") ## End(Not run) # write data to a zip-compressed CSV export(mtcars, "mtcars.csv.zip") # cleanup unlink("mtcars.csv") unlink("mtcars.dta") unlink("mtcars.txt") unlink("mtcars_cyl.rds") unlink("mtcars.rdata") unlink("data.R") unlink("mtcars.csv.zip") unlink("list.json")
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.