Я пытаюсь удалить строки из моего data.table
, где один из двух столбцов содержит значение NA
. Я хотел бы использовать двоичный поиск с помощью функции J
от data.table
. Вот то, что я пробовал:Подмножество на основе двоичного поиска по значениям NA в data.table
DT = data.table(x=rep(c("a","b",NA),each=10), y=c(1,3,6))
setkey(DT,x)
DT
x y
1: NA 6
2: NA 1
3: NA 3
4: NA 6
5: NA 1
6: NA 3
7: NA 6
8: NA 1
9: NA 3
10: NA 6
11: a 1
12: a 3
13: a 6
14: a 1
15: a 3
16: a 6
17: a 1
18: a 3
19: a 6
20: a 1
21: b 3
22: b 6
23: b 1
24: b 3
25: b 6
26: b 1
27: b 3
28: b 6
29: b 1
30: b 3
x y
Чтобы удалить все строки, где x
это NA
я попробовал:
DT[!J(NA_character_)]
... но она по-прежнему возвращает весь data table
. Кто-нибудь имеет представление о том, что я делаю неправильно? Спасибо огромное!
Это было реализовано в 'v1.8.11'. Пожалуйста, проверьте [** этот **] (http://stackoverflow.com/questions/12646172/select-na-in-a-data-table-in-r/20590133#20590133) для получения дополнительной информации. – Arun