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