Я попытался заменить добавление цикла for функцией R cumsum (), однако результаты немного отличаются. Различия в основном тривиальны. Тем не менее, мне интересно, что является причиной проблемы.
day <- c(1:100)
curve <- sapply(day, function(x){0.01 * exp(-(x/30.5)^0.7)})
methodA <- cumsum(curve)
methodB <- array(dim = length(day))
methodB[1] <- curve[1]
for (i in c(2: length(day))){
methodB[i] <- methodB[i-1] + curve[i]
}
identical(methodA, methodB)
#### FALSE
mean(methodA - methodB) == 0
#### FALSE: ~ 4.37e-17