Ich habe einen Datensatz mit zwei Spalten, Metro, Zustand. Ich gebe den folgenden Befehl in dplyr,Filter Zeilen basierend auf der dplyr groupby, summaraize Ausgabe
data %>% group_by(metro, State) %>% summarise(count = n())
ich die folgende Ausgabe,
metro State count
A OH 703
A NJ 3
B GA 1453
B CA 456
B WA 123
Ich möchte jetzt die Zeilen in der Datenrahmen, um herauszufiltern, die nur die maximalen Zählungen sind und lassen Sie die restlichen . Ich muss die entsprechenden Zeilen herausfiltern. Der Ausgang nach den Zeilen für den folgenden Befehl eines Ausfiltern sollte, seine
data %>% group_by(metro, State) %>% summarise(count = n())
metro State count
A OH 703
B GA 1453
Wo jede Metro einzigen Zustand aufweist, die der Zustand mit maximalen Zählungen und entfernt werden, bleibt.
Nachstehend ist mein Versuch,
data %>% group_by(metro, State) %>% filter(n() == max(n()))
Aber das ist wieder den gleichen Datenrahmen als Eingabe heraus geben.
Kann mir jemand dabei helfen? Meine Ausgabe sollte sein, dass jede Metro einen eindeutigen Status haben sollte, der die maximale Anzahl hat und die restlichen Statuseinträge sollten entfernt werden.
Dank
'data%>% group_by (U-Bahn)%>% -Filter (count == max (count))' – Psidom
@Psidom Diese nutzen immer noch gibt mir die gleiche Ausgabe, denn wenn wir per U-Bahn gruppieren, addiert sich die Zählung und wir können die maximalen Einträge nicht herausfiltern. – haimen
@Psidom Ich bin in der Lage, nach dem Zusammenfassen herauszufiltern .. Meine Frage ist, den ursprünglichen Datenrahmen mit den entsprechenden Zeilen herauszufiltern. Wenn der Datenrahmen zuvor 2738 Zeilen hatte, brauche ich 2156 Zeilen erst nach dem Filtern. Die Zeilen, die (3, 456, 123) entsprechen, sollten entfernt werden. – haimen