[R] Issues with fa() function in "psych"

Pascal Oettli kridox at ymail.com
Tue Apr 8 09:28:46 CEST 2014


Hello,

And what about submitting your suggestions directly to the package
author/maintainer?

And please don't post in HTML.

Regards,
Pascal

On Tue, Apr 8, 2014 at 3:13 PM, sagnik chakravarty
<sagnik.stats at gmail.com> wrote:
> Hi Team,
>
> I was using your "psych" package for factor analysis and was also comparing
> the results with SAS results. I have some suggestions and/or confusions
> regarding the fa() function in the package:
>
>    - The fa() function *doesn't account for Heywood cases* (communality
>    greater than 1) and never ever throws out any error related to that which
>    other softwares do. This is a serious and common issue in iterative factor
>    analysis and hence should have been accounted for.
>
>
>    - The fa() function doesn't provide "equamax" rotation in its rotation
>    list and still if you specify "*rotation=equamax*", it will run without
>    throwing out any error and even mentioning in the result that "equamax" has
>    been applied. But I have thoroughly compared results from "
>    *rotation=none*" and "*rotation=equamax*" options and they are exactly
>    same. *That means fa() is not doing the rotation at all and yet telling
>    that it is doing that!!* I have even mentioned "*rotation=crap*" option
>    just to check and surprisingly it ran(without any error) with the result
>    showing:
>
>            *Factor Analysis using method =  gls*
> *           Call: fa(r = cor_mat, nfactors = 4, n.obs = 69576, rotate =
> "crap", fm = "gls")*
>
>             I hope you understand the severity of this bug and hence
> request you to correct this.
>
>    - To my sense, there might be some problem with "fm=ml" and "fm=pa"
>    options since the convergence issue should be with MLE method and not PA
>    method but while running factor analysis with PA, I am getting the
>    following warning:
>
>             *maximum iteration exceeded*
> *            The estimated weights for the factor scores are probably
> incorrect.  Try a different factor extraction method.*
>
>              If I compare the results of R and SAS,* I am getting
> convergence error for MLE in SAS whereas I am getting the same error for PA
> in R *!! I am not being able to understand this mismatch.
>
>    - If I call the *loading matrix like efa_pa$loadings, the matrix shown
>    has many blank cells whereas the final result showing the loadings doesn't
>    have so* !!
>
> *Loadings:*
> *             PA1    PA2    PA3    PA4   *
> *Var1    0.401                       -0.243*
> *Var2    0.336 -0.104            0.710*
> *Var3    0.624  0.123 0.170      *
>
>
>    - Could you please explain* what the "com" column means* in the output:?
>
>
> *           PA1   PA3   PA2   PA4     h2          u2      com*
> *Var1  0.44  0.14 -0.03  -0.10 0.22665  0.773  1.3*
> *Var2  0.08  0.11  0.02   0.78  0.62951  0.370  1.1*
> *Var3  0.62  0.12  0.15   0.14  0.43578  0.564  1.3*
>
>    - Request you to add option for *"equamax" rotation* also if possible.
>
>
> I have come across the above issues until now. Please do correct me if I am
> wrong.
>
> Awaiting your revert which would clear out my confusions,
>
> Thanks for your valuable time,
>
> Sagnik
>
> --
> Regards,
>
> *SAGNIK CHAKRAVARTY*
>
> *Mob:*  +919972865435
> *Email:* sagnik.stats at gmail.com
>            sagnik.739 at gmail.com
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



-- 
Pascal Oettli
Project Scientist
JAMSTEC
Yokohama, Japan




More information about the R-help mailing list