Ich möchte Zeilen eines Datenrahmens basierend auf der Anzahl der Beobachtungen in einer bestimmten Spalte so unterteilen, dass ich nur Zeilen erhalte, bei denen es n + Beobachtungen gibt. Ich möchte dies mit Tidyverse-Funktionen tun, nicht mit Basis-R-Funktionen.
Beispiel: Behalten Sie aus den planes
Daten des nycflights13
Pakets alle Zeilen bei, planes$manufacturer
in denen mindestens 10 Beobachtungen vorhanden sind. Die Teilmengendaten sollten nur die folgenden Hersteller haben:
[1] "AIRBUS" "AIRBUS INDUSTRIE" "BOEING"
[4] "BOMBARDIER INC" "EMBRAER" "MCDONNELL DOUGLAS"
[7] "MCDONNELL DOUGLAS AIRCRAFT CO" "MCDONNELL DOUGLAS CORPORATION"
Hinweis: Dieser Beitrag geht nicht auf diese Frage ein.
Du kannst das:
library(dplyr)
df <- planes %>%
dplyr::group_by(manufacturer) %>%
dplyr::filter(n() > 10)
Zusammenfassung der Ausgabe
df %>% count(manufacturer)
# A tibble: 8 × 2
# Groups: manufacturer [8]
manufacturer n
<chr> <int>
1 AIRBUS 336
2 AIRBUS INDUSTRIE 400
3 BOEING 1630
4 BOMBARDIER INC 368
5 EMBRAER 299
6 MCDONNELL DOUGLAS 120
7 MCDONNELL DOUGLAS AIRCRAFT CO 103
8 MCDONNELL DOUGLAS CORPORATION 14
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen