Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • correlation of factors after rotation (using factormat with polychoric correlation matrix)

    Hi,

    I have used exploratory factor analysis using factormat for a polychoric correlation matrix. I extracted two factors and I want to know the correlation between them. I tried

    estat common

    but this returned that the correlation between the two factors was 0.


    I then tried to use this code which I found on Stata' FAQ.

    mat L = get(r_L)
    mat T = syminv(L'*L)*L'*get(Ld)
    mat Phi = T*T'
    mat list Phi

    However this did not work either. I got the error: "matrix L not found". But when I did

    ereturn list

    it seemed that this matrix was there. These are the matrices that were available:
    e(r_Ev) : 1 x 2
    e(r_Phi) : 2 x 2
    e(r_T) : 2 x 2
    e(r_L) : 12 x 2
    e(C) : 12 x 12
    e(Phi) : 2 x 2
    e(L) : 12 x 2
    e(Psi) : 1 x 12
    e(Ev) : 1 x 12

    Can anyone help with how to get the correlation matrix between the two extracted factors?

    Many thanks,
    Dharmi

  • #2
    Need to see the commands you used. Did you use any options/commands to get obliquely rotated solutions? If the command you used an orthogonal rotation would you expect there to be a large enough non-zero correlation to be detected? (And yes, I'm aware that orthogonal components should have a zero correlation, but just wanted to include a sanity check).

    Comment


    • #3
      Hello,

      Thank you for the response.
      Here is the full list of commands that I used. I used oblique (oblimax) rotation, therefore the command, estat common, should have returned a non-zero correlation.

      polychoric clpersa clpersb clpersc clpersd clperse clpersg clpersh clpersi/*
      */ clpersj clpersm clpersn clperso if respsex==2

      display r(sum_w)
      global N = r(sum_w)
      matrix r = r(R)
      factormat r, n($N) factors(2)
      rotate, oblimax

      mat L = get(r_L)
      mat T = syminv(L'*L)*L'*get(Ld)
      mat Phi = T*T'
      mat list Phi

      estat common

      I would appreciate if anyone can see where I have made an error?

      Many thanks,
      Dharmi

      Comment

      Working...
      X