0 votes
in Datenauswertung by s084918 (335 points)

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!

1 Answer

0 votes
by SoSci Survey (309k points)

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 s084918 (335 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.
by SoSci Survey (309k points)
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.
by s084918 (335 points)
Mein Befehl dazu lautet:

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

View(data[,c("Mitarbeiterbindung","AC01_01","AC01_02","AC01_03","AC01_04","AC01_05")])
by s084918 (335 points)
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
by SoSci Survey (309k points)
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.
by s084918 (335 points)
Leider funktioniert das bei mir nicht.

Wie kann ich Fälle mit bestimmten Werten sonst noch entfernen?
by SoSci Survey (309k points)
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.

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

...