You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The umxEFA function took 4 hours to calculate on my data set with a 70x40 matrix with 40% missing values. The calculation time went down to 10 minutes when I removed the call to function umxSummary from umxEFA.
I don't think I need the umxSummary anyway. It does not affect the return value from umxEFA, but only prints something on the screen. I don't know why the umxSummary is so slow, but there should be a way to avoid calling it.
I general, I prefer that statistical functions put the calculated results in a return rather than print them on the screen. This will allow the user to decide what to do with the results: print, plot, save to a file, or combine with further calculations in a longer script. In the case of the umxEFA function, I will propose that this function should not print any results but just return the data set m1. The user can then print the loadings, umxSummary, or whatever is needed.
BTW. I compared the results of umxEFA with a factor analyses based on a covariance matrix calculated by package 'norm' or 'norm2'. The three results were very different. Any idea why, or which one is best?
Thanks for developing umx.
The text was updated successfully, but these errors were encountered:
…t statistics of a model (default is FALSE) see #103
* TODO: `umxEFA` currently reports either the model or the loadings (or factor scores if requested).
Might be worth considering making scores a model attribute.... Not sure what this nicest UI is for a user just wanting scores.
The devtools version now has a summary =FALSE option. summary is slow because it computes the independence and saturated models and for 40 variables, that will take forever. SO, off by default now.
I also made a change so printing is suppressed if umx_set_silent(TRUE)
Users like models to run and print themselves but I get the benefit of chaining, so this seems a reasonable compromise?
Currently the output is either model, scores, or loadings. Might be useful to make scores a model attribute.... But then people might struggle to find them. Will consider the UI.
The umxEFA function took 4 hours to calculate on my data set with a 70x40 matrix with 40% missing values. The calculation time went down to 10 minutes when I removed the call to function umxSummary from umxEFA.
I don't think I need the umxSummary anyway. It does not affect the return value from umxEFA, but only prints something on the screen. I don't know why the umxSummary is so slow, but there should be a way to avoid calling it.
I general, I prefer that statistical functions put the calculated results in a return rather than print them on the screen. This will allow the user to decide what to do with the results: print, plot, save to a file, or combine with further calculations in a longer script. In the case of the umxEFA function, I will propose that this function should not print any results but just return the data set m1. The user can then print the loadings, umxSummary, or whatever is needed.
BTW. I compared the results of umxEFA with a factor analyses based on a covariance matrix calculated by package 'norm' or 'norm2'. The three results were very different. Any idea why, or which one is best?
Thanks for developing umx.
The text was updated successfully, but these errors were encountered: