NA em data.table

eu tenho umdata.table que contém alguns grupos. Eu operei em cada grupo e alguns grupos retornam números, outros retornamNA. Por algum motivodata.table tem dificuldade em juntar tudo de novo. Isso é um bug ou eu sou mal entendido? Aqui está um exemplo:

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'

Meu entendimento foi queNA é compatível com números em R, pois claramente podemos ter umdata.table isso temNA valores. Eu percebo que posso voltarNULL e isso vai funcionar bem, mas a questão é comNA.

questionAnswers(3)

yourAnswerToTheQuestion