考虑对列进行分组并根据R中的其他列选择行

时间:2018-12-17 15:47:07

标签: r grouping

我的数据是dataframe(fpo):

     damIDpoG4 damSirepoG4 damGpoG4 damPhenpoG4 damTBVpoG4 damGBVpoG4
[1,]    450622      430878        4    5.540501   4.260957   3.422568
[2,]    450623      430878        4    3.046358   4.169094   3.528200
[3,]    450625      430878        4    4.515801   4.543196   3.843761
....
[50,]    450626      470878        4    4.798896   4.501067   3.875034
[51,]    450630      470878        4    4.282659   4.388037   3.830042
[52,]    450632      470878        4    3.553223   4.086484   3.571130

我想根据MAX为每个相似的 damSirepoG4 组选择 damIDpoG4 中的n个数字(例如12),或者选择20%的 damGBVpoG4 >。   damSirepoG4 包含250个相同编号的组 我尝试:

fpo %>% group_by(fpo[,2]) %>% sample_n(12)

但是我的答案不正确。我无法考虑dplyr的最大值或百分比
感谢您的关注

1 个答案:

答案 0 :(得分:1)

我们需要在group_by中传递列名(假设'fpo'是data.frame/tbl_df而不是matrix

fpo %>% 
    group_by(damSirepoG4) %>%
    sample_n(12)