双重求和以找出R中的方差

时间:2018-04-16 23:16:20

标签: r loops sum

我不知道如何在R中编码这个求和。作为初学者,我不知道如何在同一个函数中编写几个循环。

我需要在R中编码的等式是

enter image description here

2 个答案:

答案 0 :(得分:4)

首先,你可能想要制作一个矩阵,其中element(i,j)是alpha * sigma向量的第i个元素乘以同一向量的第j个元素。这可以通过R:

中的outer函数来完成
alpha <- 1:3
sigma <- 2:4
outer(alpha*sigma, alpha*sigma)
#      [,1] [,2] [,3]
# [1,]    4   12   24
# [2,]   12   36   72
# [3,]   24   72  144

所需的双重求和是这个乘以元素的所有元素与包含rho_ij值的矩阵的总和,可以在R中用*实现元素乘法和{ {1}}用于对矩阵中的元素求和:

sum

答案 1 :(得分:3)

以josliber的示例数字为例,这可以通过简单的矩阵乘法来完成

alpha <- 1:3
sigma <- 2:4
rho <- cbind(c(1, .2, -.1), c(.2, 1, 0), c(-.1, 0, 1))
t(alpha * sigma) %*% rho %*% (alpha * sigma) 
#      [,1]
# [1,]  184