Seite 1 von 1

negative Werte in NAs für ganzen Datensatz umwandeln

Verfasst: Fr Nov 20, 2020 5:42 pm
von kosa
Hallo :)

ich habe ein Problem beim Umwandeln von negativen Werten im Datensatz in NAs. Ich habe leider kein reproduzierbares Beispiel, da ich schlichtweg überfragt bin, wie das in diesem spezifischen Fall (labeled SPSS-Datensatz).

Zu meinem Vorgehen:

1) Ich importiere den SPSS-Datensatz mit dem Package (haven)

Code: Alles auswählen

dat <- read_sav("dat_bearbeitet.sav")
2) Ich bekomme folgende Struktur (Beispiel, der ersten Variablen)

Code: Alles auswählen

str(dat)
'data.frame':	1963 obs. of  141 variables:
 $ questionnaire_no               : chr  "AD_001" "AD_002" "AD_003" "AD_004" ...
  ..- attr(*, "label")= chr "kommunenspezifische Durchnummerierung der Fragebögen (\"ersten beiden Buchstaben der Kommune\"_\"dreistellig fo"| __truncated__
  ..- attr(*, "format.spss")= chr "A6"
  ..- attr(*, "display_width")= int 0
3) ich habe einen Mix aus 'characters' und 'numeric' Werten im Datensatz

4) Wenn ich nun versuche alle -77 und -66 Werte in NAs umzuwandeln, bekomme ich folgende Fehlermeldung

Code: Alles auswählen

dat[dat<0] <- NA #wandele alle -77,-66 in NAs um
Fehler: Can't combine `..1` <double> and `..2` <character>.
Run `rlang::last_error()` to see where the error occurred.

Ich hatte diesen Befehl in vorherigen Datensätzen benutzt. Da hat es immer einwandfrei funktioniert. Der Datensatz ist zu riesig, um Spalte für Spalte die Werte zu löschen. Gibt es eine einfache Lösung, um dieses Problem zu umgehen?

Jeder Hinweis wäre super.

Vielen lieben Dank!

Grüße!

Re: negative Werte in NAs für ganzen Datensatz umwandeln

Verfasst: Fr Nov 20, 2020 7:33 pm
von student
Hallo kosa,

schau mal hier: https://youtu.be/oarUh4ZwFCY

Vielleicht hilft's weiter...