У меня есть следующие data.table
:Фильтр data.table по нескольким критериям в том же столбце
> dt= data.table(num=c(1,2,1,1,2, 3, 3,2), letters[1:8])
> dt
num V2
1: 1 a
2: 1 c
3: 1 d
4: 2 b
5: 2 e
6: 2 h
7: 3 f
8: 3 g
Я хочу, чтобы фильтровать все Num равен 1 и 2 и получить в результате data.table. Я могу сделать это с помощью:
> dt[num==1 | num==2,]
num V2
1: 1 a
2: 1 c
3: 1 d
4: 2 b
5: 2 e
6: 2 h
Или:
rbind(setkey(dt, num)[J(1)],setkey(dt, num)[J(2)])
Но есть ли вариант с SetKey так, что второе выражение короче, как:
setkey(dt, num)[1|2]
Поскольку SetKey код быстрее для очень большого количества ... Я был бы признателен за помощь!
Как этот 'setkey (dt, num) [num% in% c (1,2)]'? – KFB