Предположим, у меня есть таблица data.table, и я хочу выбрать все строки, где переменная x имеет значение b. Это легкоКак выбрать строки по двум критериям в data.table в R
library(data.table)
DT <- data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=1:9)
setkey(DT,x) # set a 1-column key
DT["b"]
Кстати, оказалось, что один должен установить ключ, если ключ не установлен в х, то это не работает. Кстати, что произойдет, если я установил два столбца в качестве ключей?
Во всяком случае, двигаясь, позволяет сказать, что я хочу, чтобы выбрать все строки, в которых переменная х была или б
DT["b"|"a"]
не работает
Но следующие работы
DT[x=="a"|x=="b"]
Но это использует векторное сканирование a la data frames. Он не использует двоичный поиск. Думаю, для небольших наборов данных это не имеет значения.
Это то, что я должен делать, или я не знаю синтаксиса data.table?
И еще одно. Существуют ли примеры более сложных логических процедур множественного выбора (или подмножества) с data.table?
Я знаю, что всегда мог вернуться к использованию функции subset(), так как data.table будет вести себя как data.frame, если это необходимо.
Подробный обработанный пример многоколоночного ключа представлен во встроенной виньетке. –
И не уверен, насколько хорошо известно, что нужно работать через результат 'example (data.table)' в командной строке - есть примеры. –