У меня есть data.table
library(data.table)
DT <- data.table(a=c(1,2,3,4), b=c(4,4,4,4), x=c(1,3,5,5))
> DT
a b x
1: 1 4 1
2: 2 4 3
3: 3 4 5
4: 4 4 5
, и я хотел бы выбрать строки, где x
равно a
или b
. Очевидно, я мог бы использовать
> DT[x==a | x==b]
a b x
1: 1 4 1
, который дает правильный результат. Тем не менее, я подумал, что со многими столбцами следующее должно работать точно также:
> DT[x%in%c(a,b)]
a b x
1: 1 4 1
2: 2 4 3
, но это дает другой результат, который не является интуитивным для меня. Кто-нибудь может помочь?