Homer Jay Simpson
Homer Jay Simpson

Reputation: 1232

For loop in R calculation wrong result

I want to calculate the sum_{i}^{n} x_{i}^2 * lambda^(n-i) / sum_{i}^{n} lambda^(n-i)

Doing so in R i manage to do the following.But zeros occured.What am i doing wrong?


n = 10
x = seq(1,n,1);x
lambda = 0.99 
mat = 0 
for (i in 2:n) {
  mat = (lambda^(n-i)*x[i-1]^2) /  (lambda^(n-i))
}
mat


the result must be the variance of each entry x_{i}

Upvotes: 1

Views: 154

Answers (1)

Diego
Diego

Reputation: 356

Very well, I will try to see if this is what you need @The Red:

n <-  10
x <-  seq(1,n,1);x
lambda <-  0.99 
mat <- 0
vect_mat <- rep(0, n-1); vect_mat
for (i in 2:n) {
  mat <-  mat + (lambda^(n-i)*x[i-1]^2) /  (lambda^(n-i))
  vect_mat[i-1] <- mat
}
mat
vect_mat

After running it, it results in:

> mat
[1] 285
> vect_mat
[1]   1   5  14  30  55  91 140 204 285

Upvotes: 1

Related Questions