You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 + .sas7bcat files and
read_xpt() reads SAS transport files (versions 5 and 8).
write_xpt() writes SAS transport files (versions 5 and 8).
SPSS: read_sav() reads .sav files and read_por() reads the
older .por files. write_sav() writes .sav files.
Stata: read_dta() reads .dta files (up to version 15).
write_dta() writes .dta files (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 with
as_factor(). Special missing values are preserved. See
vignette("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")
Usage
library(haven)
# SAS
read_sas("mtcars.sas7bdat")
write_xpt(mtcars, "mtcars.xpt")
# 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.