Funktion erzeugt neue Variable in MZ-Daten.
AddVariable(x, functionName, newVar)
x | MZ Daten - Output von Funktion ImportData oder IndivImportData. |
---|---|
functionName | Character: Name der Funktion mit der die neue Variable |
newVar | Character: Name der neu zu erzeugenden Variable. |
Output sind wieder die MZ-Daten x
die um die neu erzeugte Variable newvar
ergaenzt wurden.
Um in den Daten eine neue Variable newVar
zu erzeugen, z.B. durch Rekodierungen einer anderen Variable,
muss man eine Funktion functionName
definieren. Dieser Funktion uebergibt man als Funktionsparameter die
Variablenname(n) der in den Daten vorhandenen Merkmale die man zum Erzeugen der neuen Variable braucht.
Mehr dazu in den Beispielen.
# Daten laden (oder Daten einlesen mit ImportData() bzw. IndivImportData()) data(mzTestData) # Zuerst wird jeweils die Funktion definiert mit der die neue Variable erzeugt werden soll. # Dann wird mit AddVariable diese Funktion auf die Daten angewandt. # Beispiel 1: xerw_fun <- function(balt, xerwstat) { x <- ifelse(balt>=15 & balt <=24, xerwstat, -99) return(x) } mzTestData <- AddVariable(x=mzTestData, functionName=xerw_fun, newVar="xerw") # Beispiel 2: stdrec_fun <- function(dtstd, estund){ x <- vector() x[dtstd==999] <- 999 x[dtstd==-3] <- -3 x[dtstd!=999] <- dtstd[dtstd!=999] x[estund!=-3 & dtstd!=-3 & dtstd!=999] <- dtstd[estund!=-3 & dtstd!=-3 & dtstd!=999]+estund[estund!=-3 & dtstd!=-3 & dtstd!=999] return(x) } mzTestData <- AddVariable(x=mzTestData, functionName=stdrec_fun, newVar="stdrec")# NOT RUN { # Beispiel 3: age_pub_fun <- function(balt){ x <- balt x <- car::recode(x, "-3= -3; 0:14=0; 15:19=1; 20:24=2; 25:34=3; 35:44=4; 45:54=5; 55:59=6; 60:64=7; 65:200=8") return(x) } mzTestData <- AddVariable(x=mzTestData, functionName=age_pub_fun, newVar="age_pub") # }