Я пытаюсь создать более персонализированную версию cumsum
для использования в data.table, но у меня не получается на первом шаге:
numbers <- data.table(num=1:10)
sum <- 0
cumFunct <- function(n) {
sum <<- sum+n
return(sum)
}
numbers[, cum:=sapply(num, cumFunct)]
Хотя это работает, это очень нечисто. Также необходимо, чтобы сумма была установлена на 0, прежде чем я запустил функцию.
Теперь, как мне написать это чище? По сути, как я могу передать промежуточный результат на следующую итерацию cumFunct
без использования глобальных переменных?
Большое спасибо!