目前,我非常忙于一种新型的因子分析。我创建了以下二元运算符:
%M%从R数据帧计算正方形正定对称矩阵
%E%计算公共估计并将它们放在方阵M的主对角线上
%F%从新的方阵
%R%从%F%的因子载荷中重现一个新的方阵并从原始矩阵中减去
这是一个循环。对于残差重复步骤2到4,%F%提取第二个因子,%R%再现新矩阵等。 以这种方式,完整的过程(步骤2-4,4-4)被连续地应用于越来越小的矩阵。
我的问题是:我如何在R中编程这些迭代?显然,在每次迭代中,步骤4输入下一次迭代中从步骤2到步骤4的新循环。
我使用的一些R代码:
res= a%M%lg3
est= res%E%5
F1= est%F%1
res= F1%R%est
est= res%E%5
F2= est%F%1
res= F2%R%est
est= res%E%5
F3= est%F%1
res= F3%R%est
a =是R数据帧,lg3是新的双变量log3共识系数。
我很高兴有机会寻求帮助。
问候,
吕克
答案 0 :(得分:1)
我认为你可以使用while
循环:
while(..some stopping criteria..) {
est <- res %E% 5
res <- est %F% 1 %R% est
}
如果您只想运行四次,只需添加一个计数器
for(i in 1:4) {
est <- res %E% 5
res <- est %F% 1 %R% est
}