我希望从我的数据框不同的组中选择不同数量的行。使用dplyr,我尚未找到优雅的方法来做到这一点。要为每个组选择相同数量的行,我通常这样实现:
library(dplyr)
iris %>%
group_by(Species) %>%
arrange(Sepal.Length) %>%
top_n(2)
但是我希望能够引用另一个表,以获取我想要的每个组的行数,例如下面的示例表:
top_rows_desired <- data.frame(Species = unique(iris$Species),
n_desired = c(4,2,5))
left_join
函数返回第一个参数即左侧 ('iris') 的行数,同时添加了一个新列 'n_desired',该列的值来自于 'top_rows_desired'。 - akrun