NA en data.table

tengo undata.table que contiene algunos grupos. Opero en cada grupo y algunos grupos devuelven números, otros devuelvenNA. Por alguna razóndata.table tiene problemas para armar todo de nuevo. ¿Es esto un error o estoy malentendido? Aquí hay un ejemplo:

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'

Mi entendimiento fue queNA Es compatible con los números en R ya que claramente podemos tener unadata.table que tieneNA valores. Me doy cuenta de que puedo volverNULL y eso funcionará bien pero el problema es conNA.

Respuestas a la pregunta(3)

Su respuesta a la pregunta