我正在尝试使用roll软件包计算带权重的滚动总和,但是我无法理解得到的结果。例如,如果我运行以下命令:
require(roll)
roll_sum(as.matrix(c(1, 0, 0, 0)), width = 4, weights = c(0.5, 0.3, 0.2, 0.1), min_obs = 1, online = FALSE)
[,1]
[1,] 0.1
[2,] 0.2
[3,] 0.3
[4,] 0.5
我不明白为什么加权总和不是:
[,1]
[1,] 0.5
[2,] 0.8
[3,] 1.0
[4,] 1.1
如果我在没有权重的情况下运行代码,则会得到预期的结果:
roll_sum(as.matrix(c(1, 0, 0, 0)), width = 4, min_obs = 1, online = FALSE)
[,1]
[1,] 1
[2,] 1
[3,] 1
[4,] 1
我想念什么吗?加权不是通过乘法来完成的吗?(我假设是这样)?