我不是高级用户,但我已经尝试解决这个问题好几个小时了,我不知道该怎么做。
设置:我有一个 2X10000 矩阵,它由 2 个变量的 10000 次重复组成,分别在第 1 行和第 2 行中将它们称为 a 和 b。我需要对每一列重复一个操作(即 10000 次),因此需要循环。操作如下:对于每一列 [ab]',创建一个 2x2 矩阵,如下所示:
[a b]
[b a]
然后转置该矩阵并将其乘以原始列列。最后,对于每个原始列 [ab]',我应该获得另一列,但具有两个不同的值。
我构建了 2x10000 矩阵来包含结果:
R <- 10000
a <- matrix(rep(1, 200), nrow=2, ncol=R)
Gamma 是我正在使用其列的 2x10000 矩阵。然后我应用以下循环:
for (j in 1:R) {
Big_Gamma = matrix(c(Gamma[1, j], Gamma[2, j], Gamma[2, j], Gamma[1, j]), nrow=2, ncol=2);
a <- solve(Big_Gamma)%*%Gamma[, j];
}
Big_Gamma 是我需要反转并乘以原始向量的 2x2 矩阵。同样,我需要为 10000 个向量中的每一个都完成此操作,并且我需要另一个向量(与原始向量具有相同的维度)作为输出(如果可能)。我尝试了不同的规范,也以我提取列的方式,但它总是只运行一次(即矩阵 a 改变并变成 2x1 的)
我在各个网站上寻找了几个小时,但找不到答案。我希望这个问题不要太愚蠢。提前谢谢你,太棒了!