Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

0 votes

Liebes Support-Team.

ich habe eine neue Variable über die Funktion rowMeans gebildet.
Leider habe ich dadurch auch Zellen mit dem Wert "NaN" in der neuen Variable. Wie kann ich diese nun entfernen?

Vielen Dank!

in Datenauswertung by s084918 (335 points)

1 Answer

0 votes

Vermutlich sind diese Zeilen entstanden, weil hier keine Werte für die Variablen vorliegen, auf welche Sie rowMeans() angewandt haben.

Nun kommt es daran an, wie Sie mit den Zeilen verfahren möchten? Möchten Sie nur die NaN in NA umkodieren (nicht, dass das einen großen Unterschied macht), dann ganz klassisch:

dataset$neueVariable[is.nan(dataset$neueVariable)] = NA

Oder wenn Sie die Zeilen gleich ganz löschen wollen:

dataset = dataset[!is.nan(dataset$neueVariable), ]
by SoSci Survey (76.5k points)
Vielen Dank!

Komischerweise liegen in allen Zeilen Werte vor bzw. steht dort NA.
Wichtig wäre für mich, dass ich mit dieser neuen Variable Regressionen berechnen kann.
Wenn die Werte vollständig vorliegen, darf kein NaN herauskommen. Wenn Sie einzelne NAs nit mitzählen möchten, sehen Sie sich einmal die Parameter von rowMeans() an, insb. na.rm.
Mein Befehl dazu lautet:

data$Mitarbeiterbindung<-rowMeans(data[,c("AC01_01","AC01_02","AC01_03","AC01_04","AC01_05")],na.rm = TRUE)
Bei anderen Variablen hat dieses Vorgehen bislang super funktioniert.
Was zeigt denn folgende Ansicht in den NaN-Zeilen?

View(data[,c("Mitarbeiterbindung","AC01_01","AC01_02","AC01_03","AC01_04","AC01_05")])
In der Übersicht stehen überall Werte. Nur in einer Zeile steht in jeder Einzelvariable NA - woraus auch das Na resultiert.

Kann ich diesen Fall dann über folgenden Befehl löschen:
data = data [!is.nan(data$Mitarbeiterbindung), ] ??


Vielen Dank
Wenn Sie den Fall komplett aus dem Datensatz werfen möchten, ja. Aber das hatte ich ja schon in der ursprünglichen Antwort (oben) geschrieben.
Leider funktioniert das bei mir nicht.

Wie kann ich Fälle mit bestimmten Werten sonst noch entfernen?
Was genau funktioniert nicht? Bitte beachten sie, dass is.na() und is.nan() unterschiedlich arbeiten. Wenn Sie is.na() verwenden, müssen Sie die NaN vorher in NA umkodieren.
...