Umgang mit Missings im Datensatz

Alles zum Thema der beschreibenden Statistik

Moderator: jogo

Antworten
MJ95
Beiträge: 10
Registriert: Fr Apr 12, 2019 3:12 pm

Umgang mit Missings im Datensatz

Beitrag von MJ95 »

Hey ihr Lieben,

ich habe einen Datensatz, den ich mit Soscisurvey erhoben habe. Im csv-Datensatz werden Missings in numerischen Variablen nicht als NA eingetragen, sondern bekommen automatisch den Wert -9 zugewiesen.

Wenn ich nun in R meine Auswertungen mache, möchte ich logischerweise, dass sie in der Skala als -9 behandelt werden.
Wie kann ich nun in meinem Datensatz alle Werte von -9 durch NAs ersetzen?
Optimalerweise wäre das ein Befehl, der das für den ganzen data frame macht, bei 148 variablen á 243 Beobachtungen wird das dann doch etwas mühselig, das für jede einzelne Variable zu machen.

Achso: Direkt nach dem Download liegt der Großteil der Werte erstmal im Datenformat Integer mit numerischen Werten vor, bei ein paar Variablen auch als boolean. Texteingaben sind als Faktoren gespeichert.

Vielen Dank für eure Hilfe!
MJ95
Beiträge: 10
Registriert: Fr Apr 12, 2019 3:12 pm

Re: Umgang mit Missings im Datensatz

Beitrag von MJ95 »

Okay, ich hab grade festgestellt, dass es direkt beim Import übers Interface (habs bisher immer mit der Kommandozeile gemacht) die Option gibt, NA Strings festzulegen. Kann geschlossen werden :D
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Umgang mit Missings im Datensatz

Beitrag von bigben »

Hallo MJ95,

das ist der beste Weg, das zu klären. Es wäre aber auch kein Problem gewesen, an allen Stellen in einem Dataframe -9 durch NA zu ersetzen:

Code: Alles auswählen

bsp <- data.frame(a=c(1,2,-9), b=c(1,-9,-9), c=c(-9,-9,5))

bsp.neu <- apply(bsp, 1:2, function(x) if(x==-9) NA else x)
print(bsp.neu)
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Umgang mit Missings im Datensatz

Beitrag von jogo »

oder

Code: Alles auswählen

bsp[bsp==-9] <- NA
Gruß, Jörg
Antworten