The function harmonizes the variable names of surveys (of class survey
) that
are imported from an external file as a wave.
Usage
harmonize_var_names(
survey_list,
metadata,
old = "var_name_orig",
new = "var_name_suggested",
rowids = TRUE
)
Arguments
- survey_list
A list of surveys imported with
read_surveys
- metadata
A metadata table created by
metadata_create
and binded together for all surveys insurvey_list
.- old
The column name in
metadata
that contains the old, not harmonized variable names.- new
The column name in
metadata
that contains the new, harmonized variable names.- rowids
Rename var labels of original vars
rowid
to simplyuniqid
?
Details
If the metadata
that contains subsetting information is subsetted, then
it will subset the surveys in
survey_list
.
See also
crosswalk
Other harmonization functions:
collect_val_labels()
,
crosswalk_surveys()
,
crosswalk_table_create()
,
harmonize_na_values()
,
harmonize_survey_values()
,
harmonize_values()
,
label_normalize()
Examples
examples_dir <- system.file("examples", package = "retroharmonize")
survey_list <- dir(examples_dir)[grepl("\\.rds", dir(examples_dir))]
example_surveys <- read_surveys(
file.path( examples_dir, survey_list)
)
metadata <- metadata_create(example_surveys)
metadata$var_name_suggested <- label_normalize(metadata$var_name)
metadata$var_name_suggested[metadata$label_orig == "age_education"] <- "age_education"
harmonize_var_names(survey_list = example_surveys,
metadata = metadata )
#> [[1]]
#> # A tibble: 35 × 37
#> rowid doi version uniqid isocntry p1 p3 p4 nuts
#> <chr> <chr> <chr> <dbl> <chr> <dbl+lb> <dbl> <dbl+lb> <chr+lbl>
#> 1 ZA5913_1 doi:1… 2.0.0 (… 1.13e7 NL 8 [Tue… 27 1 [Two … NL21 [Ove…
#> 2 ZA5913_2 doi:1… 2.0.0 (… 1.13e7 NL 8 [Tue… 31 1 [Two … NL33 [Zui…
#> 3 ZA5913_3 doi:1… 2.0.0 (… 1.13e7 NL 10 [Thu… 26 1 [Two … NL32 [Noo…
#> 4 ZA5913_4 doi:1… 2.0.0 (… 1.13e7 NL 14 [Mon… 23 1 [Two … NL22 [Gel…
#> 5 ZA5913_5 doi:1… 2.0.0 (… 1.13e7 NL 10 [Thu… 31 2 [Thre… NL33 [Zui…
#> 6 ZA5913_6 doi:1… 2.0.0 (… 1.13e7 NL 8 [Tue… 33 1 [Two … NL41 [Noo…
#> 7 ZA5913_7 doi:1… 2.0.0 (… 1.13e7 NL 10 [Thu… 21 1 [Two … NL13 [Dre…
#> 8 ZA5913_8 doi:1… 2.0.0 (… 1.13e7 NL 10 [Thu… 44 1 [Two … NL13 [Dre…
#> 9 ZA5913_9 doi:1… 2.0.0 (… 1.13e7 NL 5 [Sat… 19 1 [Two … NL34 [Zee…
#> 10 ZA5913_10 doi:1… 2.0.0 (… 1.13e7 NL 14 [Mon… 22 1 [Two … NL22 [Gel…
#> # … with 25 more rows, and 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>, …
#>
#> [[2]]
#> # A tibble: 50 × 48
#> rowid doi version uniqid serialid isocntry p1 p2 p3 p4
#> <chr> <chr> <chr> <dbl> <dbl> <chr> <dbl+l> <dbl+l> <dbl> <dbl+l>
#> 1 ZA686… doi:1… 1.0.0 (… 1.10e8 8688 NL 7 [Fri… 2 [8 -… 50 1 [Two…
#> 2 ZA686… doi:1… 1.0.0 (… 1.10e8 8890 NL 5 [Wed… 4 [17 … 50 1 [Two…
#> 3 ZA686… doi:1… 1.0.0 (… 1.10e8 8925 NL 5 [Wed… 4 [17 … 65 1 [Two…
#> 4 ZA686… doi:1… 1.0.0 (… 1.10e8 8939 NL 4 [Tue… 2 [8 -… 47 1 [Two…
#> 5 ZA686… doi:1… 1.0.0 (… 1.10e8 9035 NL 3 [Mon… 5 [20 … 49 2 [Thr…
#> 6 ZA686… doi:1… 1.0.0 (… 1.10e8 9188 NL 3 [Mon… 5 [20 … 57 1 [Two…
#> 7 ZA686… doi:1… 1.0.0 (… 1.10e8 9429 NL 3 [Mon… 2 [8 -… 52 1 [Two…
#> 8 ZA686… doi:1… 1.0.0 (… 1.10e8 9450 NL 5 [Wed… 3 [13 … 58 1 [Two…
#> 9 ZA686… doi:1… 1.0.0 (… 1.10e8 9570 NL 6 [Thu… 4 [17 … 39 1 [Two…
#> 10 ZA686… doi:1… 1.0.0 (… 1.10e8 9674 NL 7 [Fri… 3 [13 … 41 1 [Two…
#> # … with 40 more rows, and 38 more variables: nuts <chr+lbl>, d7 <dbl+lbl>,
#> # d8 <dbl+lbl>, d25 <dbl+lbl>, d60 <dbl+lbl>, qa14_3 <dbl+lbl>,
#> # qa14_2 <dbl+lbl>, qa14_1 <dbl+lbl>, qa8a_3 <dbl+lbl>, qa8a_9 <dbl+lbl>,
#> # qa8b_2 <dbl+lbl>, qa8a_1 <dbl+lbl>, qa8a_7 <dbl+lbl>, qa8a_8 <dbl+lbl>,
#> # qa8a_2 <dbl+lbl>, qa8a_5 <dbl+lbl>, qa8b_1 <dbl+lbl>, qa8a_4 <dbl+lbl>,
#> # qa8a_6 <dbl+lbl>, qa8a_10 <dbl+lbl>, qa8b_3 <dbl+lbl>, qd7 1 <dbl+lbl>,
#> # qd7 2 <dbl+lbl>, qd7 3 <dbl+lbl>, qd7 4 <dbl+lbl>, qd7 5 <dbl+lbl>, …
#>
#> [[3]]
#> # A tibble: 45 × 55
#> rowid doi version uniqid caseid serialid isocntry p1 p2 p3
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <chr> <dbl+lbl> <dbl+l> <dbl>
#> 1 ZA757… doi:1… 1.0.0 … 5.00e7 481 3209 ES 4 [Mond… 3 [13 … 25
#> 2 ZA757… doi:1… 1.0.0 … 1.10e8 76 8706 NL 6 [Wedn… 3 [13 … 58
#> 3 ZA757… doi:1… 1.0.0 … 1.10e8 343 8890 NL 11 [Mond… 3 [13 … 56
#> 4 ZA757… doi:1… 1.0.0 … 1.10e8 473 8989 NL 5 [Tues… 3 [13 … 62
#> 5 ZA757… doi:1… 1.0.0 … 1.10e8 493 9001 NL 8 [Frid… 4 [17 … 30
#> 6 ZA757… doi:1… 1.0.0 … 1.10e8 897 9272 NL 6 [Wedn… 3 [13 … 56
#> 7 ZA757… doi:1… 1.0.0 … 1.10e8 1041 9379 NL 5 [Tues… 3 [13 … 57
#> 8 ZA757… doi:1… 1.0.0 … 1.10e8 1192 9493 NL 6 [Wedn… 2 [8 -… 60
#> 9 ZA757… doi:1… 1.0.0 … 1.10e8 1274 9543 NL 7 [Thur… 4 [17 … 57
#> 10 ZA757… doi:1… 1.0.0 … 1.10e8 1344 9590 NL 6 [Wedn… 2 [8 -… 83
#> # … with 35 more rows, and 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>, …
#>