Just a minor issue:
Looking into the output of "objective" of an MxFIMLObjective, I find that the covariance matrix is names "covariance" but the means vector only has a generic title like "untitled4391". For consistency, I suggest to name the means vector "means".
compare this output:
> model@objective
MxFIMLObjective 'objective'
@covariance : 'covariance'
@means : 'untitled4391'
@vector : FALSE
@dims : NA
@thresholds : NA
best,
Andreas
Can I confirm that you were using the RAM objective function with raw data and that was transformed into the FIML objective function? That is the first workflow that comes to mind that could auto-generate a means vector for you.
Wait, I just tested RAM + raw data and that generates a means vector that is named "means". Could you let us know what is the workflow of your script?
I am using $mxVersion "1.0.4-1540".
I attached a script which builds a linear LGCM via RAM notation and uses some fake raw data. For me, I get still an "untitledXXX" as means vector name.
Aha. I have a better idea of where the problem lies. I was testing a matrix type model that uses the RAM objective function. I should have been testing a RAM type model. I'll take a look at this over the next couple of days. The fix will be in the next OpenMx pre-release as well as in the next major release series (1.1.0 or whatever numbering system is adopted).
Ah, this is not a bug. There is already a free parameter in the script that has the name 'means'. This script is one of our test cases, it used to throw an error complaining that a free parameter and a matrix were assigned the same name. There is now a check that looks for anything with the name 'means'. If that is found, then an anonymous name is used. I could change the anonymous name from:
to
Is that OK?
Thanks again for the fast response!
My feeling is that "means_untitledXXX" is a more intuitive solution.