Я не знаю, как использовать GForce в data.table 1.9.2
Новая оптимизация: GForce. Вместо группировки данных местоположения групп передаются в сгруппированные версии sum и mean (gsum и gmean), которые затем вычисляют результат для всех групп за один последовательный проход через столбец для эффективности кеша. Кроме того, поскольку функция g * вызывается только один раз, нам не нужно искать способы ускорить вызов суммы или среднее количество повторений для каждой группы. `
при отправке следующего кода
DT <- data.table(A=c(NA,NA,1:3), B=c("a",NA,letters[1:3]))
DT[,sum(A,na.rm=TRUE),by= B]
Я получил это
B V1 1: a 1 2: NA 0 3: b 2 4: c 3
и при попытке DT[,sum(A,na.rm=FALSE),by= B]
я получил
B V1 1: a NA 2: NA NA 3: b 2 4: c 3
Объясняет ли это, что делает GForce, добавив параметр na.rm = TRUE/FALSE
?
Спасибо большое!