[R] factanal question
William Revelle
lists at revelle.net
Mon Dec 1 16:25:49 CET 2008
Don and John,
factor.residuals in the psych package does what you want (and
basically what John wrote).
Bill
At 9:30 AM -0500 12/1/08, John Fox wrote:
>Dear Don,
>
>All long as you leave the factors unrotated or do an orthogonal rotation (as
>is the default), you can compute reproduced correlations among the variables
>from the factor loadings, and thus residual correlations given the loadings
>and the original correlation matrix, both of which are accessible in the
>object returned by factanal(); the following isn't carefully tested, but
>should work:
>
>repRes <- function(F, round=3){
> A <- loadings(F)
> R <- F$correlation
> RR <- A %*% t(A)
> ResR <- R - RR
> list(reproduced.correlations=round(RR, round),
> residual.correlations=round(ResR, round))
> }
>
>Here F is an object returned by factanal(). The diagonal elements of the
>reproduced correlations are the communalities, and of the residual
>correlations, the uniquenesses.
>
>To do this from an oblique rotation would require the factor-correlation
>matrix, which, as has been pointed out previously, factanal() oddly doesn't
>provide. In this case, that's not a real impediment, since reproduced and
>residual correlations are invariant with respect to rotation of the factors.
>
>I hope this helps,
> John
>
>------------------------------
>John Fox, Professor
>Department of Sociology
>McMaster University
>Hamilton, Ontario, Canada
>web: socserv.mcmaster.ca/jfox
>
>
>> -----Original Message-----
>> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
>On
>> Behalf Of Don McNeil
>> Sent: November-30-08 11:39 PM
>> To: r-help at r-project.org
>> Subject: [R] factanal question
>>
>> Dear R users:
>> I'm wondering if it's possible to get the residual correlation matrix when
>> using factanal.
>> Since factanal assumes that the errors are normally distributed and
>> independent (provided the factor model fits the data) this would be
>useful.
>> Of course you would need to submit the data to the function to get the
>> residuals (not just their correlation matrix), but it should be possible
>to
>> get the residual correlation matrix if only the data correlation matrix is
>> provided.
>> Don McNeil
>>
>> ______________________________________________
>> 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.
>
>______________________________________________
>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.
--
William Revelle http://personality-project.org/revelle.html
Professor http://personality-project.org/personality.html
Department of Psychology http://www.wcas.northwestern.edu/psych/
Northwestern University http://www.northwestern.edu/
Attend ISSID/ARP:2009 http://issid.org/issid.2009/
More information about the R-help
mailing list