Skip to content

Reading and writing

read_dta() read_stata() write_dta()
Read and write Stata DTA files
Read SAS files
read_sav() read_por() write_sav() read_spss()
Read and write SPSS files
read_xpt() write_xpt()
Read and write SAS transport files

Labelled vectors

SAS, SPSS, and Stata share a simply concept of “labelled” vectors, which are similar to factors but a little more general. The labelled() class provides a natural representaion in R.

Labelled vectors for SPSS
labelled() is.labelled()
Create a labelled vector.
Print the labels of a labelled vector
as_factor(<data.frame>) as_factor(<haven_labelled>) as_factor(<labelled>)
Convert labelled vectors to factors

Tagged missing values

Both SAS and Stata supported tagged missing values, where a missing value can have multiple “types”, given by an letter from A through Z. tagged_na() provides a convenient way of representing these types of missing values in R by taking advantage of the binary representation of NA.

Remove attributes

There are a number of SPSS/SAS/Stata features that have no direct equivalent in R. Haven preserves them so you can choose what do with them. To simply eliminate them, use one of the zap functions.

Convert empty strings into missing values
Remove format attributes
Zap variable labels
Zap value labels
Zap special missings to regular R missings
Remove display width attributes