Functions for adding and removing listeverdi- and listetekst-
variables in AblaNor-data. Functions are:
kodebok_sjekk_foer_leggtil() checks compatibility between df
and kb for a given variable verdi_variabel and says whether
corresponding tekst_variabel can be added in df.
kodebok_sjekk_foer_fjerning() checks compatibility between df
and kb for a given variable tekst_variabel and says and whether
corresponding verdi_variabel can be removed from df.
kodebok_fyll_listetekstvar() adds some/all listetekst-variables
in df.
kodebok_beholde_bare_listetekstvar() removes some/all
listeverdi-variables from df.
kodebok_sjekk_foer_leggtil(df, verdi_variabel, tekst_variabel, koder)
kodebok_sjekk_foer_fjerning(
df,
kb,
verdi_variabel,
tekst_variabel,
type = "Listevariabel"
)
kodebok_fyll_avkrysningsboks(df, kb, ..., suffiks = "_tekst")
kodebok_fyll_listetekstvar(df, kb, ..., suffiks = "_tekst")
kodebok_beholde_bare_listetekstvar(
df,
kb,
...,
suffiks = "_tekst",
fjerne_suffiks_fra_navn = TRUE
)data.frame containing variables from AblaNor e.g. d_ablanor.
is used to check compatibility between df and
kb for one variable. verdi_variabel is the name of variable
with numerical values (listeverdier).
is used to check compatibility between df and
kb for one variable. tekst_variabel is the name of variable
with text values (listetekst).
is used to check compatibility between df and kb
for one variable. koder contains selected rows from kb.
data.frame with kodeboken. Must contain variables
type, fysisk_feltnavn, listeverdier and
listetekst. One row for each level of all variables.
String. Contains the type of variable as defined in
kb Listevariabel or Avkrysninsboks
If only selected listetekst- or listeverdi-
variables are to be added or removed in df, the selected variables
should be listed here, separated by commas.
string value that contains suffix of new listetekst-
variables to be added to or listeverdi-variables to be removed from
df. Default value is "_tekst".
boolean. If TRUE the listetekst- variables are renamed and suffix is removed from variable names. If FALSE, variable-names are not changed and will contain suffix.
df <- data.frame(var1 = c(1:5, 1:5),
var2 = rep(c(0,1), 5))
kb <- data.frame(fysisk_feltnavn = c(rep("var1", 5), "var2", "var2"),
type = rep("Listevariabel", 7),
listeverdier = c(1:5, 0, 1),
listetekst = c(letters[1:5], "nei", "ja"))
ablanor::kodebok_sjekk_foer_leggtil(
df = df,
tekst_variabel = "var2_tekst",
verdi_variabel = "var2",
koder = kb %>%
dplyr::filter(.data$fysisk_feltnavn == "var2"))
#> [1] TRUE
ablanor::kodebok_fyll_listetekstvar(df = df,
kb = kb,
suffiks = "_tekst")
#> var1 var1_tekst var2 var2_tekst
#> 1 1 a 0 nei
#> 2 2 b 1 ja
#> 3 3 c 0 nei
#> 4 4 d 1 ja
#> 5 5 e 0 nei
#> 6 1 a 1 ja
#> 7 2 b 0 nei
#> 8 3 c 1 ja
#> 9 4 d 0 nei
#> 10 5 e 1 ja
df <- data.frame(var1 = c(1:5),
var1_tekst = letters[1:5],
var3 = c(0, 0, 1, 1, 1),
var3_tekst = c("nei", "nei", "ja", "ja", "ja"))
kb <- data.frame(fysisk_feltnavn = c(rep("var1", 5), "var3", "var3"),
type = rep("Listevariabel", 7),
listeverdier = c(1:5, 0, 1),
listetekst = c(letters[1:5],"nei", "ja"))
ablanor::kodebok_sjekk_foer_fjerning(df = df,
kb,
verdi_variabel = "var3",
tekst_variabel = "var3_tekst",
type = "Listevariabel")
#> [1] TRUE
ablanor::kodebok_beholde_bare_listetekstvar(
df = df,
kb = kb,
suffiks = "_tekst",
fjerne_suffiks_fra_navn = TRUE)
#> var1 var3
#> 1 a nei
#> 2 b nei
#> 3 c ja
#> 4 d ja
#> 5 e ja