В первой строке
library(data.table)
sample[, AGG := Reduce(`+`, .SD), .SDcols = agg]
мы указываем интересующие столбцы в .SDcols
т.е. agg
(возможно, это имя объекта с несколькими столбцами),
Тогда используйте Reduce
, чтобы получить сумму строк (+
) Подмножества Data.table (.SD
).
На втором шаге столбец 'AGG' копируется для создания 'AGG_NEW',
sample[, AGG_NEW := AGG]
, затем мы передаем индекс, то есть последовательность строк в i
(не конечно, зачем это нужно здесь), затем создайте 'val' как логический вектор
Даже без «подмножества» код должен работать, потому что «подмножество» показало полную последовательность строк исходного набора данных
sample[, val := (AGG_NEW >= (value) - 1)) | val ]
|
означает оператор OR
, т. Е. Либо выполняется условие lhs ИЛИ rhs, затем возвращается TRUE
, либо FALSE