[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