如何编程factoranalysis迭代

时间:2014-10-31 19:27:26

标签: r

目前,我非常忙于一种新型的因子分析。我创建了以下二元运算符:

  1. %M%从R数据帧计算正方形正定对称矩阵

  2. %E%计算公共估计并将它们放在方阵M的主对角线上

  3. %F%从新的方阵

  4. 一次提取一个因子
  5. %R%从%F%的因子载荷中重现一个新的方阵并从原始矩阵中减去

  6. 这是一个循环。对于残差重复步骤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共识系数。

    我很高兴有机会寻求帮助。

    问候,

    吕克

1 个答案:

答案 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
}