データテーブル内の各要素の最初の数行を選択したいと思います。例えばデータテーブル内の各要素に最初のn個の行を選択するにはどうすればよいですか?
SOURCE=data.table(NAME=rep(paste0("NAME", as.character(1:3)), each=5), VALUE=sample(c(TRUE,FALSE), 5*3, TRUE))
> SOURCE
NAME VALUE
1: NAME1 TRUE
2: NAME1 TRUE
3: NAME1 TRUE
4: NAME1 FALSE
5: NAME1 FALSE
6: NAME2 TRUE
7: NAME2 FALSE
8: NAME2 TRUE
9: NAME2 TRUE
10: NAME2 TRUE
11: NAME3 TRUE
12: NAME3 FALSE
13: NAME3 FALSE
14: NAME3 TRUE
15: NAME3 TRUE
ここで私はので、私は行で終わるでしょう、各NAME
のために3つの最初の行を選択したい:1-3、6-9と11-13。どのようにそれを行うにはどのようなアイデア?
私はこれを試してみましたが、それは動作しません:
> SOURCE[1:3, VALUE, by=NAME]
NAME VALUE
1: NAME1 TRUE
2: NAME1 TRUE
3: NAME1 TRUE
'SOURCE [、head(.SD、3)、by = NAME]'? (また: 'set.seed()'は再現性のためにあなたの友人です) – hrbrmstr
もう一つのdupeターゲット:http://stackoverflow.com/q/16325641/ – Frank