Zeilen mit fehlenden Werten (NA) löschen

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
Exterion
Beiträge: 12
Registriert: Di Mai 25, 2021 2:34 pm

Zeilen mit fehlenden Werten (NA) löschen

Beitrag 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
Zuletzt geändert von Exterion am Fr Jun 11, 2021 1:40 am, insgesamt 1-mal geändert.
Benutzeravatar
student
Beiträge: 675
Registriert: Fr Okt 07, 2016 9:52 am

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

Beitrag von student »

Hallo Exterion,

zum Thema "Fehlende Werte" habe ich hier und hier ein Video dazu gemacht. Vielleicht hilft es Dir weiter...
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

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

Beitrag 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
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Exterion
Beiträge: 12
Registriert: Di Mai 25, 2021 2:34 pm

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

Beitrag 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
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

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

Beitrag von bigben »

Ja, ignorier das. Ich hatte in der Zeile darüber den ganzen Dataframe nicht als daten sondern als OnlineOffline eingelesen.
LG, Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten