Можно ли в data.table вычислить новую переменную в j на основе вычисляемой переменной в этом же j? Т.е. я ожидаю такое же поведение как в mutate.
library(dplyr)
library(data.table)
dt <- data.table(value = 1:3)
# не работает
dt[, `:=`(csum = cumsum(value),
fctrl = factorial(csum))][]
#> Error in factorial(csum): объект 'csum' не найден
# работает
dt[, csum := cumsum(value)][, fctrl := factorial(csum)][]
#> value csum fctrl
#> 1: 1 1 1
#> 2: 2 3 6
#> 3: 3 6 720
dt %>%
mutate(csum = cumsum(value),
fctrl = factorial(csum))
#> value csum fctrl
#> 1: 1 1 1
#> 2: 2 3 6
#> 3: 3 6 720
Можно
Подскажите как или где посмотреть?
library(dplyr) library(data.table) dt <- data.table(value = 1:3) dt[, c("csum", "fctrl") := { csum <- cumsum(value); fctrl <- factorial(csum); list(csum, fctrl) }] dt %>% mutate(csum = cumsum(value), fctrl = factorial(csum))
Обсуждают сегодня