Просто интересно, есть ли способ сглаживания подмножества data.table. В основном у меня большой стол с миллионистыми рядами и сотнями колос. Я хочу подмножить его на основе целочисленного col/s, имеющего значение между диапазоном, определенным мной.
Мне было интересно, установил ли соответствующий столбец в качестве ключа это бинарный поиск, но затем не уверен, могу ли я найти строки между диапазоном значений.
Продуманный пример ниже.
> n = 1e7
> dt <- data.table(a=rnorm(n),b=sample(letters,replace=T,n))
> system.time(subset(dt, a > 1 & a < 2))
user system elapsed
1.596 0.000 1.596
> system.time(dt[a %between% c(1,2)])
user system elapsed
1.168 0.000 1.168
может ли это быть сделано?
setkey(dt,a)
dt[ ] : get me the rows between 1 and 2 values of the key
Спасибо! -Abhi