我将使用内置的
以下是数据,共有5种饲料类型。
我想要的是每种饲料类型按重量排名的前几行。但是,每种饲料类型需要使用不同的数字。例如:
chickwts
数据作为示例。以下是数据,共有5种饲料类型。
> head(chickwts)
weight feed
1 179 horsebean
2 160 horsebean
3 136 horsebean
4 227 horsebean
5 217 horsebean
6 168 horsebean
> table(chickwts$feed)
casein horsebean linseed meatmeal soybean sunflower
12 10 12 11 14 12
我想要的是每种饲料类型按重量排名的前几行。但是,每种饲料类型需要使用不同的数字。例如:
top_n_feed <-
c(
"casein" = 3,
"horsebean" = 5,
"linseed" = 3,
"meatmeal" = 6,
"soybean" = 3,
"sunflower" = 2
)
我该如何使用dplyr
来实现这个目标?
要获取每种饲料类型中权重前n
行,我可以使用以下代码,但我不知道如何将其扩展到每种饲料类型的不同行数。
chickwts %>%
group_by(feed) %>%
slice_max(order_by = weight, n = 5)