अभी मेरे पास निम्न डेटा है। फ्रेम जो original.df %.% group_by(Category) %.% tally() %.% arrange(desc(n))
द्वारा बनाया गया था।एक "अन्य" फ़ील्ड बनाना
DF <- structure(list(Category = c("E", "K", "M", "L", "I", "A",
"S", "G", "N", "Q"), n = c(163051, 127133, 106680, 64868, 49701,
47387, 47096, 45601, 40056, 36882)), .Names = c("Category",
"n"), row.names = c(NA, 10L), class = c("tbl_df", "tbl", "data.frame"
))
Category n
1 E 163051
2 K 127133
3 M 106680
4 L 64868
5 I 49701
6 A 47387
7 S 47096
8 G 45601
9 N 40056
10 Q 36882
मैं नीचे रैंक श्रेणियों से "अन्य" फ़ील्ड बनाना चाहता हूं। अर्थात
Category n
1 E 163051
2 K 127133
3 M 106680
4 L 64868
5 I 49701
6 Other 217022
अभी, मैं
rbind(filter(DF, rank(rev(n)) <= 5),
summarise(filter(DF, rank(rev(n)) > 5), Category = "Other", n = sum(n)))
जो अन्य श्रेणी में शीर्ष 5 में नहीं सभी श्रेणियों गिर कर रहा हूं।
लेकिन मुझे उत्सुकता है कि dplyr
या किसी अन्य मौजूदा पैकेज में कोई बेहतर तरीका है या नहीं। "बेहतर" से मेरा मतलब अधिक संक्षिप्त/पठनीय है। मैं चुनने के लिए चतुर या अधिक लचीला तरीकों के तरीकों में भी रूचि रखता हूं।