Seite 1 von 1

Nicht passende Datensätze löschen

Verfasst: So Okt 14, 2018 8:57 am
von csberlin
Hallo,

ich habe folgendes Problem. Ich habe eine Umfrage erstellt und hatte 166 Teilnehmer. Davon waren 12 unvollständig diese habe ich auch mit

Code: Alles auswählen

daten <-  subset(data, subset = !is.na(submitdate))
entfernt. Ich habe dann 4 Teilnehmer, die unter 18 sind. Diese möchte ich auch nicht in meiner Datenauswertung haben. Ich habe diese mit folgendem Befehl versucht zu entfernen:

Code: Alles auswählen

daten<- subset(data,data$Alter > 17)
Allerdings scheint das nicht zu funktionieren, da ich dann immer noch 154 Datensätze habe. Da sind aber nur die unvollständigen abgezogen. Ich habe dann noch diesen Befehl versucht:

Code: Alles auswählen

Alter<-length(df$id(df$Alter=="15-17Jahre"))
und anschließend

Code: Alles auswählen

df<-df(-which(df$Alter=="15-17Jahre", arr.ind=TRUE),)
Da kommt aber die Fehlermeldung, dass irgendein Closure nicht gefunden wurde.

Ich habe auch noch einen Datensatz bei dem das Geschlecht nicht angegeben wurde. Der müsste ebenfalls gelöscht werden sowie einen mit einer sehr hohen Zahl.

Re: Nicht passende Datensätze löschen

Verfasst: So Okt 14, 2018 11:05 am
von jogo
Hallo csberlin,

willkommen im Forum!
csberlin hat geschrieben: So Okt 14, 2018 8:57 am ich habe folgendes Problem. Ich habe eine Umfrage erstellt und hatte 166 Teilnehmer. Davon waren 12 unvollständig diese habe ich auch mit

Code: Alles auswählen

daten <-  subset(data, subset = !is.na(submitdate))
entfernt. Ich habe dann 4 Teilnehmer, die unter 18 sind. Diese möchte ich auch nicht in meiner Datenauswertung haben. Ich habe diese mit folgendem Befehl versucht zu entfernen:

Code: Alles auswählen

daten<- subset(data,data$Alter > 17)
Und warum nicht einfach in einem Abwasch?

Code: Alles auswählen

daten <-  subset(data, !is.na(submitdate) & (Alter > 17))
Ich habe auch noch einen Datensatz bei dem das Geschlecht nicht angegeben wurde. Der müsste ebenfalls gelöscht werden sowie einen mit einer sehr hohen Zahl.
Kannst Du bitte mal die Ergebnisse von

Code: Alles auswählen

str(data)
summary(data)
in Deine nächste Nachricht schreiben? Oder heißt Dein Dataframe df und nicht data - in Deiner Nachricht gibt beide Objekte. :o

Bitte lies vorher viewtopic.php?f=20&t=29 :!:

Gruß, Jörg

Re: Nicht passende Datensätze löschen

Verfasst: So Okt 14, 2018 3:41 pm
von csberlin
Hallo, vielen Dank erstmal für deine Hilfe.

Das ist das Ergebnis was bei dem Datensatz von dir rauskam:

chr "-which(data$Alter == \"15-17 Jahre\", ara.ind = TRUE)"
Length Class Mode
1 character character

Re: Nicht passende Datensätze löschen

Verfasst: So Okt 14, 2018 6:09 pm
von jogo
Hallo csberlin,

dann hilft nur ein reproduzierbares Beispiel. Bitte lies dazu viewtopic.php?f=20&t=11
oder auch https://stackoverflow.com/questions/596 ... le-example

Mindestens benötigen wir Informationen über die Struktur des Objektes, also den Output von

Code: Alles auswählen

str(data)
Gruß, Jörg

Re: Nicht passende Datensätze löschen

Verfasst: So Okt 14, 2018 6:28 pm
von csberlin
Mit der Lösung oben hat es für das Alter auf jeden Fall geklappt.

Ich habe jetzt noch diesen einen Datensatz wo jemand keine Angabe zum Geschlecht gemacht und da weiß ich auch nicht, wie ich das herausbekommen soll.Vielleicht hat dazu jemand einen Tipp.

Re: Nicht passende Datensätze löschen

Verfasst: Mo Okt 15, 2018 6:53 am
von EDi
Kommt drauf an wie 'keine Angabe' kodiert ist. Wenn's NA sind, dann is.na() ansonsten '==' verwenden.

Re: Nicht passende Datensätze löschen

Verfasst: Mo Okt 15, 2018 8:12 am
von csberlin
Vielen Dank.