r - Cumsum 函数结果与迭代循环不同
问题描述
我尝试用 R 函数 cumsum() 替换 for-loop 添加,但结果略有不同。差异大多是微不足道的。不过,我想知道是什么导致了这个问题。
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
解决方案
推荐阅读
- if-statement - 如果条件不满足,则保持单元格不变
- php - 我可以在 xamp localhost 上使用 Swift Mailer 发送电子邮件吗
- regex - 验证查询参数并使用正则表达式解析它
- python - 从随机数据中获取正确路径
- json - 读取捆绑的 JSON 数据时如何使用 init(来自解码器:)
- hyperlink - 我正在尝试在 div 标题中向左浮动徽标和向右浮动一组链接
- javascript - 如何让圆总是只接触到彼此的边缘?
- python - 使用 python camelot 库打印表格以用于提取表格
- postgresql - 无法更新 CTE(但 SELECT 有效)?
- c# - C# 非阻塞无限循环在同一个线程中?