Мне интересно, почему для данных data.table:
library(data.table)
DT <- structure(list(number = 1:5, bmask = c(FALSE, TRUE, FALSE, TRUE,
FALSE)), .Names = c("number", "bmask"), row.names = c(NA, -5L
), class = c("data.table", "data.frame"))
> DT
number bmask
1: 1 FALSE
2: 2 TRUE
3: 3 FALSE
4: 4 TRUE
5: 5 FALSE
выражение DT[bmask==T,.(out=number)]
работает так, как ожидалось:
out
1: 2
2: 4
но DT[bmask,.(out=number)]
вызывает ошибку:
> DT[bmask,.(out=number)]
Error in eval(expr, envir, enclos) : object 'bmask' not found
Это правильное поведение пакета data.table
?