带有矩阵的r中的for循环

时间:2017-11-05 19:42:22

标签: r matrix

我是R的新手,我已经遍布stackoverflow,我无法找到答案。

我有一个矩阵列表,A,B,C ...维度m x m和单个向量,维度为m x 1 我想首先将矩阵'A'乘以X,并使用结果向量乘以列表中的下一个矩阵,我想要这样的东西

this.ref.push().set({text: text});

我有89个矩阵要通过,手册不是一个选项,因为我需要多次更新矩阵的数量,是否有一种简单的for循环技术让我的生活更简单?

1 个答案:

答案 0 :(得分:0)

这里的解决方案是循环遍历所有矩阵并将乘法结果存储在resultMatrix列表中。

m1 = A x V 步骤由origMatrix[[i]] %*% myVector完成,其中 i = 1
m2 = B x m1 步骤(以及所有其余步骤)完成origMatrix[[i]] %*% resultMatrix[[i - 1]]

# Generate data
origMatrix <- list(matrix(rnorm(9), 3),
                   matrix(rnorm(9), 3),
                   matrix(rnorm(9), 3))

myVector <- 1:3

# Loop trough original matrices    
resultMatrix <- list()
for (i in 1:length(origMatrix)) {
    if (i == 1) {
        # Multiple first matrix by vector
        resultMatrix[[i]] <- origMatrix[[i]] %*% myVector 
    } else {
        # Multiple matrix by previous result matrix
        resultMatrix[[i]] <- origMatrix[[i]] %*% resultMatrix[[i - 1]]
    }
}