What is the fastest way to do this summation in R?
This is what I have so far
ans = 0
for (i in 1:dimx[1]){
for (j in 1:dimx[2]){
ans = ans + ((x[i,j] - parameters$mu)^2)/(parameters$omega_2[i]*parameters$sigma_2[j])
}
}
where omega_2
, and sigma_2
are omega^2 and sigma^2 respectively.
Combining two sums Two sums whose indices of summation and summands match up in just the right way can be combined into a single sum. With that change of variables, we have to then specify how each part of the summation expression changes. Starting index. n = 0 corresponds to k = 1.
xij, as the order of summation does not matter.
Nothing fancy:
# sample data
m <- matrix(1:20, 4)
sigma <- 1:ncol(m)
omega <- 1:nrow(m)
mu <- 2
sum(((m - mu) / outer(omega, sigma))^2)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With