eiv: Errors-in-Variables Rotation

View source: R/eiv.R

eivR Documentation

Errors-in-Variables Rotation


Rotate to errors-in-variables representation.


    eiv(L, identity=seq(NCOL(L)), ...)



a factor loading matrix


indicates rows which should be identity matrix.


additional arguments discarded.


This function rotates to an errors-in-variables representation. The optimization is not iterative and does not use the GPA algorithm. The function can be used directly or the function name can be passed to factor analysis functions like factanal.

The loadings matrix is rotated so the k rows indicated by identity form an identity matrix, and the remaining M-k rows are free parameters. \Phi is also free. The default makes the first k rows the identity. If inverting the matrix of the rows indicated by identity fails, the rotation will fail and the user needs to supply a different choice of rows.

Not all authors consider this representation to be a rotation. Viewed as a rotation method, it is oblique, with an explicit solution: given an initial loadings matrix L partitioned as L = (L_1^T, L_2^T)^T, then (for the default identity) the new loadings matrix is (I, (L_2 L_1^{-1})^T)^T and \Phi = L_1 L_1^T, where I is the k by k identity matrix. It is assumed that \Phi = I for the initial loadings matrix.

One use of this parameterization is for obtaining good starting values (so it looks a little strange to rotate towards this solution afterwards). It has a few other purposes: (1) It can be useful for comparison with published results in this parameterization; (2) The S.E.s are more straightfoward to compute, because it is the solution to an unconstrained optimization (though not necessarily computed as such); (3) One may have an idea about which reference variables load on only one factor, but not impose restrictive constraints on the other loadings, so, in a nonrestrictive way, it has similarities to CFA; (4) For some purposes, only the subspace spanned by the factors is important, not the specific parameterization within this subspace; (5) The back-predicted indicators (explained portion of the indicators) do not depend on the rotation method. Combined with the greater ease to obtain correct standard errors of this method, this allows easier and more accurate prediction-standard errors.


A list (which includes elements used by factanal) with:


The new loadings matrix.


The rotation.


A string indicating the rotation objective function ("eiv").


For consistency with other rotation results. Always FALSE.


For consistency with other rotation results. Always TRUE.


The covariance matrix of the rotated factors.


Erik Meijer and Paul Gilbert.


Gösta Hägglund. (1982). "Factor Analysis by Instrumental Variables Methods." Psychometrika, 47, 209–222.

Sock-Cheng Lewin-Koh and Yasuo Amemiya. (2003). "Heteroscedastic factor analysis." Biometrika, 90, 85–97.

Tom Wansbeek and Erik Meijer (2000) Measurement Error and Latent Variables in Econometrics, Amsterdam: North-Holland.

See Also

echelon, rotations, GPForth, GPFoblq


  data("WansbeekMeijer", package="GPArotation")
  fa.unrotated  <- factanal(factors = 2, covmat=NetherlandsTV, rotation="none")

  fa.eiv <- eiv(fa.unrotated$loadings)
  fa.eiv2 <- factanal(factors = 2, covmat=NetherlandsTV, rotation="eiv")
  cbind(loadings(fa.unrotated), loadings(fa.eiv), loadings(fa.eiv2))

  fa.eiv3 <- eiv(fa.unrotated$loadings, identity=6:7)
  cbind(loadings(fa.unrotated), loadings(fa.eiv), loadings(fa.eiv3))


GPArotation documentation built on May 29, 2024, 8:16 a.m.

Related to eiv in GPArotation...