1
对于数据:滤镜功能
Id res
1 9
1 8
1 8
1 6
1 5
1 4
2 6
2 6
2 0
2 0
2 0
2 0
我想前四名各组。 当我使用
dat %>% group_by(Id) %>%
top_n(4,res)
我得到
Id res
1 9
1 8
1 8
1 6
2 6
2 6
2 0
2 0
2 0
2 0
这里需要的过滤器的方法。这将是一个适当的过滤器逻辑,以便我只得到前四行(允许关系)
你也可以做到这一点使用.SD这是data.table的一部分'setDT(df)[,.SD [1:4],by = Id]' – JWheeler
确实,这是个好主意! –
它主要取决于数据中是否有更多的列,因为'.SD'效率不高。 –