В R с использованием data.table, как исключить строки и как включить значения NA в целочисленный столбец - PullRequest
4 голосов
/ 19 января 2012

Я часто использую data.table. Это работает хорошо, но я обнаружил, что у меня уходит много времени на изменение моего синтаксиса, чтобы он использовал преимущества двоичного поиска.

В следующей таблице данных как 1 выбрать все строки, в том числе, где значение CPT равно NA, но исключить строки, где значение CPT равно 23456 или 10000.

cpt <- c(23456,23456,10000,44555,44555,NA)
description <- c("tonsillectomy","tonsillectomy in >12 year old","brain transplant","castration","orchidectomy","miscellaneous procedure")
cpt.desc <- data.table(cpt,description)

setkey(cpt.desc,cpt)

Следующая строка работает, но я думаю, что она использует метод векторного сканирования вместо двоичного поиска (или двоичного исключения). Есть ли способ отбрасывать строки бинарными методами?

cpt.desc[!cpt %in% c(23456,10000),]

1 Ответ

2 голосов
/ 19 января 2012

Только частичный ответ, потому что я новичок в data.table.Самостоятельное соединение работает для числа, но то же самое не работает для строк.Я уверен, что один из профессиональных сборщиков данных знает, что делать.

...