Anzahl einzelner Ausprägungen abfragen

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

Moderatoren: EDi, jogo

rforum1236
Beiträge: 3
Registriert: Mi Apr 01, 2020 7:57 pm

Anzahl einzelner Ausprägungen abfragen

Beitrag von rforum1236 »

Hallo Zusammen,

ich habe einen großen Datensatz mit vielen Postleitzahlen.
Mit welchem Befehl kann ich abfragen, wie oft eine bestimmte Postleitzahl vorkommt?

Bsp: "44145", "33562", "66745", "44145" -> Wie oft kommt die "44145" vor, wie oft die "33562"... , sodass mir 2,1,... ausgegeben werden.

Ich hoffe mir kann jemand helfen.

Gruß
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Anzahl einzelner Ausprägungen abfragen

Beitrag von student »

Hallo,

schau Dir mal das Paket doBy und hier vielleicht die Funktion summaryBy an.
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)
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Anzahl einzelner Ausprägungen abfragen

Beitrag von jogo »

Hallo rforum1236,

willkommen im Forum!

Code: Alles auswählen

table(DeinDataframe$PLZ)
Gruß, Jörg
rforum1236
Beiträge: 3
Registriert: Mi Apr 01, 2020 7:57 pm

Re: Anzahl einzelner Ausprägungen abfragen

Beitrag von rforum1236 »

Hallo Jörg,

vielen Dank für die schnelle Antwort. Ich bräuchte aber die Anzahl der jeweiligen PLZ als numerischen Wert, um daraus einen eigenen Vektor zu machen.
Hast du dafür zufällig auch eine Lösung?

Gruß.Hendrik
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Anzahl einzelner Ausprägungen abfragen

Beitrag von jogo »

Hallo Hendrik,

Code: Alles auswählen

PLZ <- rep(c("44145", "33562", "66745", "44145"), c(4, 2, 5, 9)) 
table(PLZ)
anz <- table(PLZ)
str(as.numeric(anz))
as.data.frame(anz)
Gruß, Jörg
p.s.:
Es ist an Dir, ein reproduzierbares Beispiel zu liefern ... beim nächsten Mal.
viewtopic.php?f=20&t=11
rforum1236
Beiträge: 3
Registriert: Mi Apr 01, 2020 7:57 pm

Re: Anzahl einzelner Ausprägungen abfragen

Beitrag von rforum1236 »

Hallo Jörg,

vielen vielen Dank für die schnelle Hilfe!
Bei meiner zweiten Frage wird es besser, versprochen :D

Einen schönen Abend wünsche ich weiterhin.
Hendrik
Athomas
Beiträge: 769
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Anzahl einzelner Ausprägungen abfragen

Beitrag von Athomas »

Wenn es um größere Datenmengen geht, sollte man data.table nicht vergessen.
In dem Beispiel unten werden 1 Mio PLZ ausgewertet - so schnell, dass Ihr an einen Fehler glauben werdet :) :

Code: Alles auswählen

library(data.table)
N           <- 1000000
PLZ.str     <- sprintf("%05d", 1010:9999)
Verzeichnis <- data.table(Adressnummer=paste0("A", sprintf("%08d", 1:N)), PLZ=sample(PLZ.str, N, replace=TRUE))
Anzahl      <- Verzeichnis[  , .N, by = PLZ]
bigben
Beiträge: 2777
Registriert: Mi Okt 12, 2016 9:09 am

Re: Anzahl einzelner Ausprägungen abfragen

Beitrag von bigben »

@Athomas Ohne nachzumessen glaube ich Dir, wenn Du sagst, dass data.table schneller ist. "In der Console spürbar" ist der Geschwindigkeitsunterschied zwischen den beiden Varianten

Code: Alles auswählen

Anzahl <- Verzeichnis[  , .N, by = PLZ]
Anzahl.t <- table(Verzeichnis$PLZ)
nicht. Und bei table erhalte ich die PLZ schön alphabetisch sortiert zurück. Ich glaube, mit 1 Mio bist Du noch nicht im kritischen Bereich bzw. die Vorteile liegen da noch nicht in der Geschwindigkeit.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Athomas
Beiträge: 769
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Anzahl einzelner Ausprägungen abfragen

Beitrag von Athomas »

Ich glaube, mit 1 Mio bist Du noch nicht im kritischen Bereich bzw. die Vorteile liegen da noch nicht in der Geschwindigkeit.
Da hast Du natürlich recht, ich hatte table() erheblich träger in Erinnerung :) !
ruppy
Beiträge: 41
Registriert: Mo Nov 04, 2019 10:05 pm

Re: Anzahl einzelner Ausprägungen abfragen

Beitrag von ruppy »

Alternativ mit count:

Code: Alles auswählen

Verzeichnis %>% count(PLZ, sort = TRUE)
jaja ich weiß...tidyverse :D
Antworten