
Transform a complex factor variable to dummy variables.
Source:R/fac2dummies_complex.R
fac2dummies_complex.RdConvert a factor variable with complex factor levels (factor levels contain combinations of other factor levels) to dummy variables.
Dummy variables are coded 1 ("yes") and 0 ("no").
Details
The basic functionality of this function is analogous to fac2dummies. However, the function expects factor levels to only go
to 9. Higher numbers are treated as combinations of factor levels, for example "13" as "1" and "3".
Examples
## create an example GADSdat
df_fac <- data.frame(id = 1:6, fac = c("Opt a", "Opt c, Opt b", "Opt c",
"Opt b", "Opt a, Opt b", "Opt a, Opt b, Opt c"), stringsAsFactors = TRUE)
g_fac <- import_DF(df_fac)
g_fac <- recodeGADS(g_fac, varName = "fac", oldValues = c(1, 2, 3, 4, 5, 6),
newValues = c(1, 12, 123, 2, 3, 23))
## transform factor variable
fac2dummies_complex(g_fac, "fac")
#> The following dummy variables have been created: fac_a, fac_b, fac_c
#> $dat
#> id fac fac_a fac_b fac_c
#> 1 1 1 1 0 0
#> 2 2 23 0 1 1
#> 3 3 3 0 0 1
#> 4 4 2 0 1 0
#> 5 5 12 1 1 0
#> 6 6 123 1 1 1
#>
#> $labels
#> varName varLabel format display_width labeled value valLabel
#> 1 id <NA> <NA> NA no NA <NA>
#> 2 fac <NA> <NA> NA yes 1 Opt a
#> 3 fac <NA> <NA> NA yes 2 Opt b
#> 4 fac <NA> <NA> NA yes 3 Opt c
#> 5 fac <NA> <NA> NA yes 12 Opt a, Opt b
#> 6 fac <NA> <NA> NA yes 23 Opt c, Opt b
#> 7 fac <NA> <NA> NA yes 123 Opt a, Opt b, Opt c
#> 8 fac_a fac: Opt a F2.0 NA yes 0 no
#> 9 fac_a fac: Opt a F2.0 NA yes 1 yes
#> 10 fac_b fac: Opt b F2.0 NA yes 0 no
#> 11 fac_b fac: Opt b F2.0 NA yes 1 yes
#> 12 fac_c fac: Opt c F2.0 NA yes 0 no
#> 13 fac_c fac: Opt c F2.0 NA yes 1 yes
#> missings
#> 1 <NA>
#> 2 valid
#> 3 valid
#> 4 valid
#> 5 valid
#> 6 valid
#> 7 valid
#> 8 valid
#> 9 valid
#> 10 valid
#> 11 valid
#> 12 valid
#> 13 valid
#>
#> attr(,"class")
#> [1] "GADSdat" "list"