Import surveys into a list or several .rds files.
Usage
read_surveys(
survey_paths,
.f = NULL,
export_path = NULL,
ids = NULL,
dois = NULL,
...
)
read_survey(
file_path,
.f = NULL,
export_path = NULL,
doi = NULL,
id = NULL,
...
)Arguments
- survey_paths
A vector of (full) file paths that contain the surveys to import.
- .f
A function to import the surveys with. Defaults to
'NULL', in this case files with an extension of'.sav'and'.por'will call caseread_spss, files with an extension of'.dta'will callread_dta,rdswill callread_rdsand'.csv'read_csv.- export_path
Defaults to
NULL, in this case the read surveys are imported into a single list of surveys in memory. Ifexport_pathis a valid directory, it will instead save each survey an R object withbase::saveRDS.- ids
The identifiers of the individual surveys.
- dois
The DOIs of the individual surveys.
- ...
Parameters to pass on to the function
.f.
Value
A list of the surveys or a vector of the saved file names. See
Each element of the list is a data
frame-like survey type object where some metadata,
such as the original file name, doi identifier if present, and other
information is recorded for a reproducible workflow.
Details
Use read_survey for a single survey and read_surveys for several surveys in
in a loop. The function handle exceptions with wrong file names and not readable
files. If a file cannot be read, a message is printed, and empty survey is added to the
the list in the place of this file.
See also
survey
Other import functions:
harmonize_survey_variables(),
pull_survey(),
read_csv(),
read_dta(),
read_rds(),
read_spss()
Examples
file1 <- system.file(
"examples", "ZA7576.rds",
package = "retroharmonize"
)
file2 <- system.file(
"examples", "ZA5913.rds",
package = "retroharmonize"
)
read_surveys(c(file1, file2), .f = "read_rds")
#> [[1]]
#> Unknown (2026): Untitled Dataset [dataset]
#> rowid doi version uniqid caseid serialid isocntry p1 p2 p3
#> * <chr> <chr> <chr> <dbl> <dbl> <dbl> <chr> <dbl+lb> <dbl+l> <dbl>
#> 1 ZA7576_1 doi:… 1.0.0 … 5.00e7 481 3209 ES 4 [Mon… 3 [13 … 25
#> 2 ZA7576_2 doi:… 1.0.0 … 1.10e8 76 8706 NL 6 [Wed… 3 [13 … 58
#> 3 ZA7576_3 doi:… 1.0.0 … 1.10e8 343 8890 NL 11 [Mon… 3 [13 … 56
#> 4 ZA7576_4 doi:… 1.0.0 … 1.10e8 473 8989 NL 5 [Tue… 3 [13 … 62
#> 5 ZA7576_5 doi:… 1.0.0 … 1.10e8 493 9001 NL 8 [Fri… 4 [17 … 30
#> 6 ZA7576_6 doi:… 1.0.0 … 1.10e8 897 9272 NL 6 [Wed… 3 [13 … 56
#> 7 ZA7576_7 doi:… 1.0.0 … 1.10e8 1041 9379 NL 5 [Tue… 3 [13 … 57
#> 8 ZA7576_8 doi:… 1.0.0 … 1.10e8 1192 9493 NL 6 [Wed… 2 [8 -… 60
#> 9 ZA7576_9 doi:… 1.0.0 … 1.10e8 1274 9543 NL 7 [Thu… 4 [17 … 57
#> 10 ZA7576_… doi:… 1.0.0 … 1.10e8 1344 9590 NL 6 [Wed… 2 [8 -… 83
#> # ℹ 35 more rows
#> # ℹ 45 more variables: p4 <dbl+lbl>, nuts <chr+lbl>, d7 <dbl+lbl>,
#> # d8 <dbl+lbl>, d25 <dbl+lbl>, d60 <dbl+lbl>, qa14_5 <dbl+lbl>,
#> # qa14_3 <dbl+lbl>, qa14_2 <dbl+lbl>, qa14_4 <dbl+lbl>, qa14_1 <dbl+lbl>,
#> # qa6a_5 <dbl+lbl>, qa6a_10 <dbl+lbl>, qa6b_2 <dbl+lbl>, qa6a_3 <dbl+lbl>,
#> # qa6a_1 <dbl+lbl>, qa6b_4 <dbl+lbl>, qa6a_8 <dbl+lbl>, qa6a_9 <dbl+lbl>,
#> # qa6a_4 <dbl+lbl>, qa6a_2 <dbl+lbl>, qa6b_1 <dbl+lbl>, qa6a_6 <dbl+lbl>, …
#>
#> [[2]]
#> Unknown (2026): Untitled Dataset [dataset]
#> rowid doi version uniqid isocntry p1 p3 p4 nuts
#> * <chr> <chr> <chr> <dbl> <chr> <dbl+lb> <dbl> <dbl+l> <chr+lbl>
#> 1 ZA5913_1 doi:10.4… 2.0.0 … 1.13e7 NL 8 [Tue… 27 1 [Two… NL21 [Ove…
#> 2 ZA5913_2 doi:10.4… 2.0.0 … 1.13e7 NL 8 [Tue… 31 1 [Two… NL33 [Zui…
#> 3 ZA5913_3 doi:10.4… 2.0.0 … 1.13e7 NL 10 [Thu… 26 1 [Two… NL32 [Noo…
#> 4 ZA5913_4 doi:10.4… 2.0.0 … 1.13e7 NL 14 [Mon… 23 1 [Two… NL22 [Gel…
#> 5 ZA5913_5 doi:10.4… 2.0.0 … 1.13e7 NL 10 [Thu… 31 2 [Thr… NL33 [Zui…
#> 6 ZA5913_6 doi:10.4… 2.0.0 … 1.13e7 NL 8 [Tue… 33 1 [Two… NL41 [Noo…
#> 7 ZA5913_7 doi:10.4… 2.0.0 … 1.13e7 NL 10 [Thu… 21 1 [Two… NL13 [Dre…
#> 8 ZA5913_8 doi:10.4… 2.0.0 … 1.13e7 NL 10 [Thu… 44 1 [Two… NL13 [Dre…
#> 9 ZA5913_9 doi:10.4… 2.0.0 … 1.13e7 NL 5 [Sat… 19 1 [Two… NL34 [Zee…
#> 10 ZA5913_10 doi:10.4… 2.0.0 … 1.13e7 NL 14 [Mon… 22 1 [Two… NL22 [Gel…
#> # ℹ 25 more rows
#> # ℹ 28 more variables: d7 <dbl+lbl>, d8 <dbl+lbl>, d25 <dbl+lbl>,
#> # d60 <dbl+lbl>, qa10_3 <dbl+lbl>, qa10_2 <dbl+lbl>, qa10_1 <dbl+lbl>,
#> # qa7_4 <dbl+lbl>, qa7_2 <dbl+lbl>, qa7_3 <dbl+lbl>, qa7_1 <dbl+lbl>,
#> # qa7_5 <dbl+lbl>, qd3_1 <dbl+lbl>, qd3_2 <dbl+lbl>, qd3_3 <dbl+lbl>,
#> # qd3_4 <dbl+lbl>, qd3_5 <dbl+lbl>, qd3_6 <dbl+lbl>, qd3_7 <dbl+lbl>,
#> # qd3_8 <dbl+lbl>, qd3_9 <dbl+lbl>, qd3_10 <dbl+lbl>, qd3_11 <dbl+lbl>, …
#>
