Skip to contents

Import surveys into a list or several .rds files.

Usage

read_surveys(survey_paths, .f = NULL, export_path = NULL)

read_survey(file_path, .f = NULL, export_path = 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 case read_spss, files with an extension of '.dta' will call read_dta, rds will call read_rds and '.csv' read_csv.

export_path

Defaults to NULL, in this case the read surveys are imported into a single list of surveys in memory. If export_path is a valid directory, it will instead save each survey an R object with base::saveRDS.

Value

A list of the surveys or a vector of the saved file names. 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: 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]]
#> # A tibble: 45 × 55
#>    rowid     doi    version uniqid caseid seria…¹ isocn…² p1       p2      p3   
#>  * <chr>     <chr>  <chr>    <dbl>  <dbl>   <dbl> <chr>   <dbl+lb> <dbl+l> <dbl>
#>  1 ZA7576_1  doi:1… 1.0.0 … 5.00e7    481    3209 ES       4 [Mon… 3 [13 … 25   
#>  2 ZA7576_2  doi:1… 1.0.0 … 1.10e8     76    8706 NL       6 [Wed… 3 [13 … 58   
#>  3 ZA7576_3  doi:1… 1.0.0 … 1.10e8    343    8890 NL      11 [Mon… 3 [13 … 56   
#>  4 ZA7576_4  doi:1… 1.0.0 … 1.10e8    473    8989 NL       5 [Tue… 3 [13 … 62   
#>  5 ZA7576_5  doi:1… 1.0.0 … 1.10e8    493    9001 NL       8 [Fri… 4 [17 … 30   
#>  6 ZA7576_6  doi:1… 1.0.0 … 1.10e8    897    9272 NL       6 [Wed… 3 [13 … 56   
#>  7 ZA7576_7  doi:1… 1.0.0 … 1.10e8   1041    9379 NL       5 [Tue… 3 [13 … 57   
#>  8 ZA7576_8  doi:1… 1.0.0 … 1.10e8   1192    9493 NL       6 [Wed… 2 [8 -… 60   
#>  9 ZA7576_9  doi:1… 1.0.0 … 1.10e8   1274    9543 NL       7 [Thu… 4 [17 … 57   
#> 10 ZA7576_10 doi:1… 1.0.0 … 1.10e8   1344    9590 NL       6 [Wed… 2 [8 -… 83   
#> # … with 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>,
#> #   qa6a_7 <dbl+lbl>, qa6a_11 <dbl+lbl>, qa6b_3 <dbl+lbl>, qd6.1 <dbl+lbl>, …
#> 
#> [[2]]
#> # A tibble: 35 × 37
#>    rowid     doi        version uniqid isocn…¹ p1       p3    p4      nuts      
#>  * <chr>     <chr>      <chr>    <dbl> <chr>   <dbl+lb> <dbl> <dbl+l> <chr+lbl> 
#>  1 ZA5913_1  doi:10.42… 2.0.0 … 1.13e7 NL       8 [Tue… 27    1 [Two… NL21 [Ove…
#>  2 ZA5913_2  doi:10.42… 2.0.0 … 1.13e7 NL       8 [Tue… 31    1 [Two… NL33 [Zui…
#>  3 ZA5913_3  doi:10.42… 2.0.0 … 1.13e7 NL      10 [Thu… 26    1 [Two… NL32 [Noo…
#>  4 ZA5913_4  doi:10.42… 2.0.0 … 1.13e7 NL      14 [Mon… 23    1 [Two… NL22 [Gel…
#>  5 ZA5913_5  doi:10.42… 2.0.0 … 1.13e7 NL      10 [Thu… 31    2 [Thr… NL33 [Zui…
#>  6 ZA5913_6  doi:10.42… 2.0.0 … 1.13e7 NL       8 [Tue… 33    1 [Two… NL41 [Noo…
#>  7 ZA5913_7  doi:10.42… 2.0.0 … 1.13e7 NL      10 [Thu… 21    1 [Two… NL13 [Dre…
#>  8 ZA5913_8  doi:10.42… 2.0.0 … 1.13e7 NL      10 [Thu… 44    1 [Two… NL13 [Dre…
#>  9 ZA5913_9  doi:10.42… 2.0.0 … 1.13e7 NL       5 [Sat… 19    1 [Two… NL34 [Zee…
#> 10 ZA5913_10 doi:10.42… 2.0.0 … 1.13e7 NL      14 [Mon… 22    1 [Two… NL22 [Gel…
#> # … with 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>, qd3_12 <dbl+lbl>, qd3_13 <dbl+lbl>, qd3_14 <dbl+lbl>, …
#>