haven
Overview
Haven enables R to read and write various data formats used by other
statistical packages by wrapping the fantastic
ReadStat C library written by
Evan Miller. Haven is part of the
tidyverse. Currently it supports:
-
SAS:
read_sas()reads.sas7bdat+.sas7bcatfiles and
read_xpt()reads SAS transport files (version 5 and version 8). -
SPSS:
read_sav()reads.savfiles andread_por()reads the
older.porfiles.write_sav()writes.savfiles. -
Stata:
read_dta()reads.dtafiles (up to version 15).
write_dta()writes.dtafiles (versions 8-15).
The output objects:
-
Are tibbles, which have a better
print method for very long and very wide files. -
Translate value labels into a new
labelled()class, which
preserves the original semantics and can easily be coerced to
factors withas_factor(). Special missing values are preserved.
Seevignette("semantics")for more details. -
Dates and times are converted to R date/time classes. Character
vectors are not converted to factors.
Installation
# The easiest way to get haven is to install the whole tidyverse:
install.packages("tidyverse")
# Alternatively, install just haven:
install.packages("haven")
# Or the the development version from GitHub:
# install.packages("devtools")
devtools::install_github("tidyverse/haven")
Usage
library(haven)
# SAS
read_sas("mtcars.sas7bdat")
write_sas(mtcars, "mtcars.sas7bdat")
# SPSS
read_sav("mtcars.sav")
write_sav(mtcars, "mtcars.sav")
# Stata
read_dta("mtcars.dta")
write_dta(mtcars, "mtcars.dta")
Related work
-
foreign reads from SAS
XPORT, SPSS, and Stata (up to version 12) files. -
readstat13 reads
from and writes to all Stata file format versions. -
sas7bdat reads from
SAS7BDAT files.
Code of Conduct
Please note that the haven project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.