Nicht passende Datensätze löschen

Wie erweitere ich R um eigene Funktionen oder Pakete? Welches Paket ist passend für meine Fragestellung?

Moderatoren: EDi, jogo

Antworten
csberlin

Nicht passende Datensätze löschen

Beitrag 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.
Zuletzt geändert von jogo am So Okt 14, 2018 10:59 am, insgesamt 1-mal geändert.
Grund: Code formatiert
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Nicht passende Datensätze löschen

Beitrag 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
csberlin

Re: Nicht passende Datensätze löschen

Beitrag 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
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Nicht passende Datensätze löschen

Beitrag 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
csberlin

Re: Nicht passende Datensätze löschen

Beitrag 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.
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Nicht passende Datensätze löschen

Beitrag von EDi »

Kommt drauf an wie 'keine Angabe' kodiert ist. Wenn's NA sind, dann is.na() ansonsten '==' verwenden.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
csberlin

Re: Nicht passende Datensätze löschen

Beitrag von csberlin »

Vielen Dank.
Antworten