Como seleciono linhas por dois critérios em data.table em R

Digamos que eu possua uma tabela de dados e desejo selecionar todas as linhas em que a variável x tem o valor de b. Isso é fáci

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"]

A propósito, parece que é necessário definir uma chave, se a chave não estiver definida como x, isso não funcionará. A propósito, o que aconteceria se eu definisse duas colunas como chaves?

e qualquer forma, seguindo em frente, digamos que desejo selecionar todas as linhas em que a variável x era a ou b

DT["b"|"a"]

não funcion

Mas o seguinte funciona

DT[x=="a"|x=="b"]

Mas que usa a varredura de vetor a la data frames. Ele não usa a pesquisa binária. Eu acho que para conjuntos de dados menores, isso não import

Isso é o que devo fazer ou desconheço a sintaxe data.table?

E mais uma coisa. Existem exemplos de procedimentos de seleção (ou subconjunto) booleanos mais complexos com data.tabl

Eu sei que sempre posso voltar a usar a função subconjunto (), pois uma tabela data.t comportará um data.frame, se necessári

questionAnswers(2)

yourAnswerToTheQuestion