Combine-Ergebnis von top_n mit einer "Other" -Kategorie in dplyr
Ich habe einen Datenrahmen dat1
Country Count
1 AUS 1
2 NZ 2
3 NZ 1
4 USA 3
5 AUS 1
6 IND 2
7 AUS 4
8 USA 2
9 JPN 5
10 CN 2
Zunächst möchte ich "Count" pro "Country" summieren. Dann sollten die Top-3-Gesamtzählungen pro Land mit einer zusätzlichen Zeile "Sonstige" kombiniert werden. Dabei handelt es sich um die Summe der Länder, die nicht zu den Top-3 gehören.
Das erwartete Ergebnis wäre daher:
Country Count
1 AUS 6
2 JPN 5
3 USA 5
4 Others 7
Ich habe den folgenden Code ausprobiert, konnte aber nicht herausfinden, wie die Zeile "Others" platziert werden soll.
dat1 %>%
group_by(Country) %>%
summarise(Count = sum(Count)) %>%
arrange(desc(Count)) %>%
top_n(3)
Dieser Code gibt derzeit:
Country Count
1 AUS 6
2 JPN 5
3 USA 5
Jede Hilfe wäre sehr dankbar.
dat1 <- structure(list(Country = structure(c(1L, 5L, 5L, 6L, 1L, 3L,
1L, 6L, 4L, 2L), .Label = c("AUS", "CN", "IND", "JPN", "NZ",
"USA"), class = "factor"), Count = c(1L, 2L, 1L, 3L, 1L, 2L,
4L, 2L, 5L, 2L)), .Names = c("Country", "Count"), class = "data.frame", row.names = c("1",
"2", "3", "4", "5", "6", "7", "8", "9", "10"))