.sav
, .zsav
, .por
) files. Write .sav
and .zsav
files.read_sav()
reads both .sav
and .zsav
files; write_sav()
creates
.zsav
files when compress = TRUE
. read_por()
reads .por
files.
read_spss()
uses either read_por()
or read_sav()
based on the
file extension.
read_sav(file, encoding = NULL, user_na = FALSE, col_select = NULL,
skip = 0, n_max = Inf, .name_repair = "unique")read_por(file, user_na = FALSE, col_select = NULL, skip = 0,
n_max = Inf, .name_repair = "unique")
write_sav(data, path, compress = FALSE)
read_spss(file, user_na = FALSE, col_select = NULL, skip = 0,
n_max = Inf, .name_repair = "unique")
Either a path to a file, a connection, or literal data (either a single string or a raw vector).
Files ending in .gz
, .bz2
, .xz
, or .zip
will
be automatically uncompressed. Files starting with http://
,
https://
, ftp://
, or ftps://
will be automatically
downloaded. Remote gz files can also be automatically downloaded and
decompressed.
Literal data is most useful for examples and tests. It must contain at least one new line to be recognised as data (instead of a path) or be a vector of greater than length 1.
Using a value of clipboard()
will read from the system clipboard.
The character encoding used for the file. The default,
NULL
, use the encoding specified in the file, but sometimes this
value is incorrect and it is useful to be able to override it.
If TRUE
variables with user defined missing will
be read into labelled_spss()
objects. If FALSE
, the
default, user-defined missings will be converted to NA
.
One or more selection expressions, like in
dplyr::select()
. Use c()
or list()
to use more than one expression.
See ?dplyr::select
for details on available selection options. Only the
specified columns will be read from data_file
.
Number of lines to skip before reading data.
Maximum number of lines to read.
Treatment of problematic column names:
"minimal"
: No name repair or checks, beyond basic existence,
"unique"
: Make sure names are unique and not empty,
"check_unique"
: (default value), no name repair, but check they are
unique
,
"universal"
: Make the names unique
and syntactic
a function: apply custom name repair (e.g., .name_repair = make.names
for names in the style of base R).
A purrr-style anonymous function, see rlang::as_function()
See name-repair for more details on these terms and the strategies used to enforce them.
Data frame to write.
Path to a file where the data will be written.
If TRUE
, will compress the file, resulting in a .zsav
file.
A tibble, data frame variant with nice defaults.
Variable labels are stored in the "label" attribute of each variable. It is not printed on the console, but the RStudio viewer will show it.
write_sav()
returns the input data
invisibly.
Currently haven can read and write logical, integer, numeric, character
and factors. See labelled_spss()
for how labelled variables in
SPSS are handled in R.
# NOT RUN {
path <- system.file("examples", "iris.sav", package = "haven")
read_sav(path)
tmp <- tempfile(fileext = ".sav")
write_sav(mtcars, tmp)
read_sav(tmp)
# }
Run the code above in your browser using DataLab