podzbiór danych.table przez NaN nie działa
Mam kolumnę w tabeli danych za pomocąNaN
wartości. Coś jak:
my.dt <- data.table(x = c(NaN, NaN, NaN, .1, .2, .2, .3), y = c(2, 4, 6, 8, 10, 12, 14))
setkey(my.dt, x)
Mogę użyćJ()
funkcja, aby znaleźć wszystkie wystąpienia, w którychx
kolumna jest równa .2
> my.dt[J(.2)]
x y
1: 0.2 10
2: 0.2 12
Ale jeśli spróbuję zrobić to samoNaN
to nie działa.
> my.dt[J(NaN)]
x y
1: NaN NA
Oczekiwałbym:
x y
1: NaN 2
2: NaN 4
3: NaN 6
Co daje? Nie mogę znaleźć niczego w dokumentacji data.table, aby wyjaśnić, dlaczego tak się dzieje (choć może po prostu nie wiem, czego szukać). Czy jest jakiś sposób na uzyskanie tego, czego chcę? Ostatecznie chciałbym zastąpić wszystkieNaN
wartości z zerem, używając czegoś takiegomy.dt[J(NaN), x := 0]