在OpenMx 2中,Error:对于“MxRAMModel”类的对象,没有名称为“objective”的插槽是什么意思?

时间:2014-07-04 14:16:27

标签: r openmx

在OpenMx 1中,我们可以通过

访问目标
model@objective

在OpenMx 2中,缺少此插槽(因为目标现在明确区分期望函数和拟合函数)。所以,我想我们应该用

来访问目标
model$expectation
model$fitfunction

或者

model@expectation
model@fitfunction

是吗?

2 个答案:

答案 0 :(得分:1)

2.0发行说明说:

  
      
  • 在mxModel对象中用$ accessors替换@访问器。你没有   更长时间必须跟踪何时使用哪个;只是总是使用$!
  •   
     

注意:关于最后一个要点,用户肯定应该得到   习惯于总是用$而不是@。例如,   myModelRun @ output $ estimate现在是myModelRun $ output $ estimate。我们   无法保证使用的@ accessor的每次使用   版本1.3 / 1.4将继续在2.0中运行。

http://openmx.psyc.virginia.edu/2014/05/first-openmx-20-beta-released

答案 1 :(得分:0)

是的:在OpenMx 2中,正确的做法是model$fitfunctionmodel$expectation

通常,在OpenMx 2中,避免使用@访问模型的任何部分:使用$代替。 有帮助的是,OpenMx 2还支持制表符,以便轻松发现模型组件。