Seite 1 von 1

Zeilen mit fehlenden Werten (NA) löschen

Verfasst: Do Jun 03, 2021 1:48 pm
von Exterion
Hallo zusammen,

ich habe in meinem Datensatz (angehängt) eine Variable, in denen fehlende Werte sind. Diese wollte ich gerne löschen, um bei Berechnungen nicht immer das Ergebnis NA herauszubekommen. Dabei habe ich zwei verschiedene Methoden versucht, erhalte aber bei beiden Methoden Fehlermeldungen.

Code: Alles auswählen

#Fehlende Werte (NA) in den Values "Online/Offline" elememinieren
OnlineOffline<-daten$OnlineOffline

OnlineOffline

#Wiedergabe eines Wahrheitswertes
is.na(OnlineOffline)

#Überprüfung, ob ein fehlender Wert vorliegt
any(is.na(OnlineOffline))

#Summierung aller fehlender Werte
sum(is.na(OnlineOffline))

#Überprüfung, welche Zeilen vollständig sind
complete.cases(OnlineOffline)

#Bereinigung der fehlenden Werte (NA´s)
na.omit(OnlineOffline)

#Spalten mit NA´s eleminieren
OnlineOffline_Bereinigt<-OnlineOffline[complete.cases(OnlineOffline), ]
Hier erscheint die Fehlermeldung: Fehler in OnlineOffline[, complete.cases(OnlineOffline)] : falsche Anzahl von Dimensionen


Eine zweite Methode habe ich auch versucht:

Code: Alles auswählen

which(is.na(OnlineOffline))

OnlineOffline.naomitted <- OnlineOffline[ c-(which(is.na(OnlineOffline)), ]
Hier erhalten ich dann diesen Fehler: Fehler: Unerwartete(s) ']' in "OnlineOffline_Bereinigt <- OnlineOffline[ -c(which(is.na(OnlineOffline)), ]"

Kann mir da jemand vielleicht sagen, was ich falsch mache?

Vielen Dank im Voraus!

Viele Grüße
Exterion

Re: Zeilen mit fehlenden Werten (NA) löschen

Verfasst: Fr Jun 04, 2021 9:07 am
von student
Hallo Exterion,

zum Thema "Fehlende Werte" habe ich hier und hier ein Video dazu gemacht. Vielleicht hilft es Dir weiter...

Re: Zeilen mit fehlenden Werten (NA) löschen

Verfasst: Fr Jun 04, 2021 2:57 pm
von bigben
Sehr hilfreich kann in diesem Fall die Funktion na.omit sein, die gleich ganze Reihen im Dataframe löscht, wenn irgendwo ein NA auftaucht:

Code: Alles auswählen

OnlineOffline <- read.csv2("http://forum.r-statistik.de/download/file.php?id=1479")
dim(OnlineOffline)
table(OnlineOffline$OnlineOffline, useNA = "always")

OnlineOffline2 <- na.omit(OnlineOffline)
dim(OnlineOffline2)
table(OnlineOffline2$OnlineOffline, useNA = "always")
Wenn Du nur die NA in der Spalte OnlineOffline berücksichtigen willst geht das hier:

Code: Alles auswählen

OnlineOffline2 <- OnlineOffline[!is.na(OnlineOffline$OnlineOffline)]
LG,
Bernhard

Re: Zeilen mit fehlenden Werten (NA) löschen

Verfasst: Fr Jun 04, 2021 6:24 pm
von Exterion
Hallo Bernhard,
OnlineOffline2 <- na.omit(OnlineOffline)
Dieser Befehl funktioniert und ist genau der, den ich gesucht habe. Nach Eingabe fallen alle NA Werte raus, sodass ich mit der neuen Variable OnlineOffline2 weiterrechnen kann.

Allerdings erhalte ich bei der Eingabe von den anderen Befehlen einige Fehlermeldungen:
Fehlermeldungen.PNG
Soll ich das einfach ignorieren?

Viele Grüße

Re: Zeilen mit fehlenden Werten (NA) löschen

Verfasst: Fr Jun 04, 2021 6:42 pm
von bigben
Ja, ignorier das. Ich hatte in der Zeile darüber den ganzen Dataframe nicht als daten sondern als OnlineOffline eingelesen.
LG, Bernhard