Werte in Datensatz als 0 codieren

Wie erweitere ich R um eigene Funktionen oder Pakete? Welches Paket ist passend für meine Fragestellung?

Moderatoren: EDi, jogo

Antworten
Manuel
Beiträge: 2
Registriert: Di Dez 22, 2020 2:38 pm

Werte in Datensatz als 0 codieren

Beitrag von Manuel »

Hallo liebes Forum,

ich schreibe derzeit an meiner Bachelorarbeit und hänge leider schon früh fest.

Ich benutze einen Datensatz mit 83 Variablen, in dem alle Werte für die eigentlich eine 0 stehen müsste mit einem Minus codiert sind. Mit diesem Minus lässt sich jedoch leider nicht rechnen, weshalb ich gern alle "-" in "0" umwandeln würde.
Für eine Variable das level "-" zu entfernen klappt:

Code: Alles auswählen

levels(datensatz$Variable1)[levels(datensatz$Variable1)=="-"] <- 0
Allerdings klappt das nicht für den gesamten Datensatz:

Code: Alles auswählen

levels(datensatz)[levels(datensatz)=="-"] <- 0
An dieser Stelle weiß ich leider nicht weiter und habe im Internet bisher noch keine Lösung gefunden die mir hilft. Ich habe auch versucht mit loops bzw. apply zu arbeiten, scheine jedoch immer etwas falsch zu machen.
Ich bin mir sicher, dass es eigentlich ganz einfach zu codieren ist, komme jedoch nicht auf die richtige Lösung.
Kann mir hier jemand weiterhelfen?
Vielen Dank im Voraus!

Manuel
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Werte in Datensatz als 0 codieren

Beitrag von jogo »

Hallo Manuel,

willkommen im Forum!
Der richtige Moment für die Behandlung von Werten, die nicht verfügbar sind, ist das Einlesen.
Bei read.table() und deren vorparametrisierten Geschwistern gibt es den Parameter na.strings=.
Diesen kannst Du so setzen:

Code: Alles auswählen

na.strings = "-"
NAs kann man später besser identifizieren
... notfalls auch in 0 umwandeln.

Gruß, Jörg
Manuel
Beiträge: 2
Registriert: Di Dez 22, 2020 2:38 pm

Re: Werte in Datensatz als 0 codieren

Beitrag von Manuel »

Vielen, vielen Dank!
Das hat funktioniert.
Antworten