求和函数结果与迭代循环不同

时间:2019-01-25 22:35:49

标签: r

我试图用R函数cumsum()代替for循环加法,但是结果略有不同。差异主要是微不足道的。不过,我想知道是什么引起了问题。

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

0 个答案:

没有答案