В R я могу использовать weighted.mean
для вычисления средневзвешенного арифметического. Например:
wt <- c(5, 5, 4, 1)/15
x <- c(3.7,3.3,3.5,2.8)
xm <- weighted.mean(x, wt)
xm
[1] 3.453333
Я могу вычислить это "вручную": wt[1]*x[1]+wt[2]*x[2]+wt[3]*x[3]+wt[4]*x[4]
Я хотел бы написать цикл, чтобы сделать то же самое. Я написал этот код:
xm <-0
for(j in length(wt)){
xm <- xm + wt[j]*x[j]
}
xm
[1] 0.1866667
Что я делаю не так?