У меня есть data.table
, который содержит некоторые группы. Я работаю над каждой группой, а некоторые группы возвращают числа, другие - NA
. По какой-то причине data.table
не удается собрать все вместе. Является ли это ошибкой или я не понимаю? Вот пример:
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'
Я понял, что NA
совместим с числами в R, так как ясно, что мы можем иметь data.table
, который имеет значения NA
. Я понимаю, что могу вернуться NULL
, и это будет нормально работать, но проблема связана с NA
.