Difference in cummulative variance depending on print command

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Difference in cummulative variance depending on print command

Rena Büsch
Hello,
I am trying a factor analysis via R.
When running the pricipal axis analysis I do get different tables depending
on the print command.
This is my factor analysis:
fa.pa_cor_3_2<- fa(ItemsCor_4, nfactors=3, fm="pa",rotate="oblimin")

To get the h2 I did the following print command:
print (fa.pa_cor_3_2, digits=2, cut=.3, sort=T)
To just get the loadings I did the following print command:
print (fa.pa_cor_3_2$loadings, digits=2, cutoff=.3, sort=T)

The result of the first print is the following Eigenvalue-cumulative
variance table:
                     PA1   PA2  PA3
SS loadings    20.59 18.16 5.03
Proportion Var  0.28  0.25 0.07
Cumulative Var  0.28  0.52 0.59

With the second print command I get a different table:
                     PA1   PA2  PA3
SS loadings    17.63 15.12 3.14
Proportion Var  0.24  0.20 0.04
Cumulative Var  0.24  0.44 0.49

The loadings are the same for both commands. There is just this slight
difference in the cumulative Var.

Does anyone have an idea of a cause for the difference? What can I report?
Did I post enough information to fully understand my problem?
Thanks in Advance
Rena

______________________________________________
[hidden email] mailing list -- To UNSUBSCRIBE and more, see
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.
Reply | Threaded
Open this post in threaded view
|

Re: Difference in cummulative variance depending on print command

Peter Dalgaard-2
Firstly, there is no fa() function in base R. There is one in package psych(), which has a maintainer, etc.

I guess that it is because fa() does a non-orthogonal factor rotation and its print method knows about it, whereas the default print method for loadings assumes that rotations are orthogonal.

- Peter D.

> On 05 Dec 2014, at 13:28 , Rena Büsch <[hidden email]> wrote:
>
> Hello,
> I am trying a factor analysis via R.
> When running the pricipal axis analysis I do get different tables depending
> on the print command.
> This is my factor analysis:
> fa.pa_cor_3_2<- fa(ItemsCor_4, nfactors=3, fm="pa",rotate="oblimin")
>
> To get the h2 I did the following print command:
> print (fa.pa_cor_3_2, digits=2, cut=.3, sort=T)
> To just get the loadings I did the following print command:
> print (fa.pa_cor_3_2$loadings, digits=2, cutoff=.3, sort=T)
>
> The result of the first print is the following Eigenvalue-cumulative
> variance table:
>                    PA1   PA2  PA3
> SS loadings    20.59 18.16 5.03
> Proportion Var  0.28  0.25 0.07
> Cumulative Var  0.28  0.52 0.59
>
> With the second print command I get a different table:
>                    PA1   PA2  PA3
> SS loadings    17.63 15.12 3.14
> Proportion Var  0.24  0.20 0.04
> Cumulative Var  0.24  0.44 0.49
>
> The loadings are the same for both commands. There is just this slight
> difference in the cumulative Var.
>
> Does anyone have an idea of a cause for the difference? What can I report?
> Did I post enough information to fully understand my problem?
> Thanks in Advance
> Rena
>
> ______________________________________________
> [hidden email] mailing list -- To UNSUBSCRIBE and more, see
> 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.

--
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: [hidden email]  Priv: [hidden email]

______________________________________________
[hidden email] mailing list -- To UNSUBSCRIBE and more, see
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.
Reply | Threaded
Open this post in threaded view
|

Re: Difference in cummulative variance depending on print command

William Revelle
Dear Rena,

As Peter points out, it is better to ask the maintainer of the program for detailed questions.  

  As Peter correctly surmised, print.psych (which is used to print the output from the fa function), knows that you have an oblique solution and is reporting the amount of variance associated with the oblique factors (taking into account that they are correlated).  The default print method assumes orthogonal factors.

If you compare the total amount of variance accounted for (cumulative Var) for all of the factors (.59) , this will match that found using orthogonal rotations, while the default print method of the loadings does not.

Bill

> On Dec 6, 2014, at 10:48 AM, peter dalgaard <[hidden email]> wrote:
>
> Firstly, there is no fa() function in base R. There is one in package psych(), which has a maintainer, etc.
>
> I guess that it is because fa() does a non-orthogonal factor rotation and its print method knows about it, whereas the default print method for loadings assumes that rotations are orthogonal.
>
> - Peter D.
>
>> On 05 Dec 2014, at 13:28 , Rena Büsch <[hidden email]> wrote:
>>
>> Hello,
>> I am trying a factor analysis via R.
>> When running the pricipal axis analysis I do get different tables depending
>> on the print command.
>> This is my factor analysis:
>> fa.pa_cor_3_2<- fa(ItemsCor_4, nfactors=3, fm="pa",rotate="oblimin")
>>
>> To get the h2 I did the following print command:
>> print (fa.pa_cor_3_2, digits=2, cut=.3, sort=T)
>> To just get the loadings I did the following print command:
>> print (fa.pa_cor_3_2$loadings, digits=2, cutoff=.3, sort=T)
>>
>> The result of the first print is the following Eigenvalue-cumulative
>> variance table:
>>                   PA1   PA2  PA3
>> SS loadings    20.59 18.16 5.03
>> Proportion Var  0.28  0.25 0.07
>> Cumulative Var  0.28  0.52 0.59
>>
>> With the second print command I get a different table:
>>                   PA1   PA2  PA3
>> SS loadings    17.63 15.12 3.14
>> Proportion Var  0.24  0.20 0.04
>> Cumulative Var  0.24  0.44 0.49
>>
>> The loadings are the same for both commands. There is just this slight
>> difference in the cumulative Var.
>>
>> Does anyone have an idea of a cause for the difference? What can I report?
>> Did I post enough information to fully understand my problem?
>> Thanks in Advance
>> Rena
>>
>> ______________________________________________
>> [hidden email] mailing list -- To UNSUBSCRIBE and more, see
>> 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.
>
> --
> Peter Dalgaard, Professor,
> Center for Statistics, Copenhagen Business School
> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
> Phone: (+45)38153501
> Email: [hidden email]  Priv: [hidden email]
>
> ______________________________________________
> [hidden email] mailing list -- To UNSUBSCRIBE and more, see
> 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.

William Revelle           http://personality-project.org/revelle.html
Professor           http://personality-project.org
Department of Psychology   http://www.wcas.northwestern.edu/psych/
Northwestern University   http://www.northwestern.edu/
Use R for psychology             http://personality-project.org/r
It is 5 minutes to midnight   http://www.thebulletin.org

______________________________________________
[hidden email] mailing list -- To UNSUBSCRIBE and more, see
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.