В R Я могу использовать weighted.mean
для вычисления Weighted Arithmetic 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
Что я делаю неправильно?