Seite 1 von 1

Werte mehrerer verschiedener Variablen in eine Variable kopieren

Verfasst: Do Jan 16, 2020 12:29 am
von Janone
Hallo Forum-Mitglieder,

ich stehe vor folgendem Problem:
Ich versuche für eine Mehrebenenanalyse eine Einkommensvariable zu erstellen für alle im Datensatz enthalten Einkommensvariablen (jedes Land, insgesamt 32, besitzt eine eigene Variable).

Nun würde ich gerne nach und nach die einzelnen Werte der jeweiligen Länder in einer neu erstellten Variable kopieren. Leider klappt es nicht so ganz. Habe Befehle wie „paste“ und „rbind“ schon ausprobiert, jedoch hat dies nicht funktioniert.

LEGENDE:
CNTRY_Code -> definiert das jeweilige Land (32=Germany)
INC -> Einkommensangabe der jeweilig Befragten

Der Datensatz sieht wie folgt aus:

CNTRY_Code—-GER_INC——FR_INC —-UK_INC...
32—————————2500————NA ————NA
32-———————-—1800————NA ————NA
32—————————3400————NA ————NA
32—————————NA—————NA ————NA
32—————————4200————NA ————NA
...

40 —————————NA————2600 ———-NA
40 —————————NA————3100 ———-NA
40 —————————NA————1700 ———-NA
40 —————————NA ————2100 ———NA
40 —————————NA ————NA ————-NA
40 —————————NA ————600 ———--NA
...

62 —————————NA ————NA ———-—5200
62 —————————NA ————NA ———-—1300
...

Vielen Dank im Voraus

Viele Grüße
Jörn

Re: Werte mehrerer verschiedener Variablen in eine Variable kopieren

Verfasst: Do Jan 16, 2020 8:22 am
von bigben
Hallo Jörn,

wenn die Daten ganz konsistent so aufgebaut sind, kannst Du einfach Reihensummen bilden. Schau Dir dieses Beispiel mal an:

Code: Alles auswählen

bsp <- data.frame(ctry = c(32, 32, 32, 43, 43, 43, 43),
                  ger = c(101, 102, 103, NA, NA, NA, NA),
                  fr = c(NA, NA, NA, 201, 202, 203, NA))

print(bsp)                  

bsp$income <- rowSums(bsp[, c(2, 3)], na.rm = TRUE)

print(bsp) 
Wie Du siehst, macht diese Variable aus lauter NA in der Summe eine 0. Wenn Du das nicht willst, geht folgende Alternative:

Code: Alles auswählen

bsp <- data.frame(ctry = c(32, 32, 32, 43, 43, 43, 43),
                  ger = c(101, 102, 103, NA, NA, NA, NA),
                  fr = c(NA, NA, NA, 201, 202, 203, NA))

bsp$income <- rowMeans(bsp[, c(2, 3)], na.rm = TRUE)

print(bsp)
HTH,
Bernhard

Re: Werte mehrerer verschiedener Variablen in eine Variable kopieren

Verfasst: Do Jan 16, 2020 11:16 pm
von Janone
Hallo Bernhard,

vielen Dank für die super schnelle Antwort! Den rowMeans-Befehl verwende ich sogar öfter und bin nicht dahintergekommen... Danke für den Denkanstoß!!

Viele Grüße
Jörn