Übernahme von Werten anderer Spalte, wenn Zelle leer
Verfasst: Do Okt 20, 2022 3:46 pm
Liebe Community,
ich habe eine weitere Frage zur Datenbereinigung. In einer Umfrage wurden Personen zweimal zu den selben Variablen befragt, wodurch ich im wide-format die Variablen für den ersten Zeitpunkt die Endung .x und der zweiten Befragung, die Endung .y haben. Es gibt nun eine Variable "Ortsteil" (im Code: residence), die nicht alle Personen zu beiden Messzeitpuntken ausgefüllt haben.
Daher habe ich versucht eine neue Variable (residence.fixed) zu erstellen, in der zunächst die Angeben aus der ersten Befragung reinkopiert wurden. Fehlende Werte zum ersten Zeitpunkt, wollte ich dann "auffüllen" falls vorhanden. Hier mein Versuch:
Leider habe ich sehr schnell gemerkt, dass R dann nicht die Angabe zum Ortsteil derselben Person zum zweiten Messzeitpunkt reinkopiert. Sondern konsekutiv, die in der Variable gespeicherten Angaben nimmt.
Meine Frage: Wie kann ich das "Auffüllen" des Ortsteils auf die Angaben derselben Person beziehen?
Hier ein Beispiel:
Die neue Variable "residence.fixed" sollte folgenden Inhalt haben: residence.fixed: Wald, Schloss, NA.
(Anmerkung: Da es auch bei residence.y fehlende Werte gibt, kann ich leider nicht einfach residence.y nehmen.)
Kann mir jemand helfen?
Vielen Dank und viele Grüße!
ich habe eine weitere Frage zur Datenbereinigung. In einer Umfrage wurden Personen zweimal zu den selben Variablen befragt, wodurch ich im wide-format die Variablen für den ersten Zeitpunkt die Endung .x und der zweiten Befragung, die Endung .y haben. Es gibt nun eine Variable "Ortsteil" (im Code: residence), die nicht alle Personen zu beiden Messzeitpuntken ausgefüllt haben.
Daher habe ich versucht eine neue Variable (residence.fixed) zu erstellen, in der zunächst die Angeben aus der ersten Befragung reinkopiert wurden. Fehlende Werte zum ersten Zeitpunkt, wollte ich dann "auffüllen" falls vorhanden. Hier mein Versuch:
Code: Alles auswählen
dat$residence.fixed <- dat$residence.x
dat$residence.fixed[dat$residence.x == "" & !is.na(dat$residence.y)] <- dat$residence.y
Meine Frage: Wie kann ich das "Auffüllen" des Ortsteils auf die Angaben derselben Person beziehen?
Hier ein Beispiel:
Code: Alles auswählen
data <- data.frame(
code.x = c("AH6M","BD7M","SH9L"),
code.y = c("AH6M","BD7M","SH9L")
residence.x = c("Wald","NA","NA"),
residence.y = c("Wald","Schloss","NA")
Die neue Variable "residence.fixed" sollte folgenden Inhalt haben: residence.fixed: Wald, Schloss, NA.
(Anmerkung: Da es auch bei residence.y fehlende Werte gibt, kann ich leider nicht einfach residence.y nehmen.)
Kann mir jemand helfen?
Vielen Dank und viele Grüße!