如何按组选择data.table中数据表的前3行?

时间:2015-03-06 07:45:29

标签: r data.table

我目前有一个数据集,如:

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之类的东西。有没有人有一个简单的解决方法?谢谢!

1 个答案:

答案 0 :(得分:2)

我建议采用更简洁的方式。您可以使用?data.tableexample(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