NA w tabeli danych

mamdata.table który zawiera kilka grup. Działam na każdej grupie, a niektóre grupy zwracają liczby, inne wracająNA. Z jakiegoś powodudata.table ma problemy ze złożeniem wszystkiego z powrotem. Czy to błąd, czy nie rozumiem? Oto przykład:

dtb <- data.table(a=1:10)
f <- function(x) {if (x==9) {return(NA)} else { return(x)}}
dtb[,f(a),by=a]

Error in `[.data.table`(dtb, , f(a), by = a) : 
  columns of j don't evaluate to consistent types for each group: result for group 9 has     column 1 type 'logical' but expecting type 'integer'

Moje zrozumienie było takieNA jest zgodny z liczbami w R, ponieważ wyraźnie możemy miećdata.table który maNA wartości. Zdaję sobie sprawę, że mogę wrócićNULL i to będzie działać dobrze, ale problem jest zNA.

questionAnswers(3)

yourAnswerToTheQuestion