Seite 1 von 2
Anzahl einzelner Ausprägungen abfragen
Verfasst: Mi Apr 01, 2020 8:01 pm
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ß
Re: Anzahl einzelner Ausprägungen abfragen
Verfasst: Mi Apr 01, 2020 8:13 pm
von student
Hallo,
schau Dir mal das Paket doBy und hier vielleicht die Funktion summaryBy an.
Re: Anzahl einzelner Ausprägungen abfragen
Verfasst: Mi Apr 01, 2020 8:21 pm
von jogo
Hallo rforum1236,
willkommen im Forum!
Gruß, Jörg
Re: Anzahl einzelner Ausprägungen abfragen
Verfasst: Mi Apr 01, 2020 8:27 pm
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
Re: Anzahl einzelner Ausprägungen abfragen
Verfasst: Mi Apr 01, 2020 8:31 pm
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
Re: Anzahl einzelner Ausprägungen abfragen
Verfasst: Mi Apr 01, 2020 8:55 pm
von rforum1236
Hallo Jörg,
vielen vielen Dank für die schnelle Hilfe!
Bei meiner zweiten Frage wird es besser, versprochen
Einen schönen Abend wünsche ich weiterhin.
Hendrik
Re: Anzahl einzelner Ausprägungen abfragen
Verfasst: Do Apr 02, 2020 8:45 am
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]
Re: Anzahl einzelner Ausprägungen abfragen
Verfasst: Do Apr 02, 2020 9:07 am
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
Re: Anzahl einzelner Ausprägungen abfragen
Verfasst: Do Apr 02, 2020 9:41 am
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

!
Re: Anzahl einzelner Ausprägungen abfragen
Verfasst: Do Apr 02, 2020 12:51 pm
von ruppy
Alternativ mit count:
jaja ich weiß...tidyverse
