我目前有一个数据集,如:
ID RESULTS
1 M
1 A
1 M
1 C
1 B
2 Q
2 E
2 S
2 G
2 Z
......
从此,我想按组分别保留前3行。意思是,我想:
ID RESULTS
1 M
1 A
1 M
2 Q
2 E
2 S
我在data.table中挖掘,我发现最接近的是使用mult
或.I
之类的东西。有没有人有一个简单的解决方法?谢谢!
答案 0 :(得分:2)
我建议采用更简洁的方式。您可以使用?data.table
或example(data.table)
DT = data.table(ID=rep(c(1,2),each=5),RESULTS=
c("M","A","M","C","B","Q","E","S","G","Z"))
> DT[,.SD[1:3],by=ID]
## ID RESULTS
## 1: 1 M
## 2: 1 A
## 3: 1 M
## 4: 2 Q
## 5: 2 E
## 6: 2 S