几年前我写了一个示例OpenMx脚本来做双胞胎建模。
它是为OpenMx 1.0版(脚本linked here)
编写的当我运行它时,会有一些关于更新适合的功能和目标的警告。我该如何更新它以使用OpenMx 2.0 fit函数调用?
答案 0 :(得分:2)
从OpenMx 1.0到2.0及更高版本有少量变化。几乎所有的脚本都可以正常运行,但是如果你为OpenMx 2.x更新,那么2012年之前的一些脚本将会受益于其他功能
一个例子是referenced这里
用户遇到了麻烦:
这是一个更通用的健壮性问题,例如R代码:更好地包含Web网址而不是基于磁盘的文件路径。
source("http://www.vipbg.vcu.edu/~vipbg/Tc24/GenEpiHelperFunctions.R")
更好的解决方案是基于CRAN的帮助程序包,例如 umx 。这些更容易保持最新和可访问。
这样的调用已被弃用:
objMZ<- mxFIMLObjective(covariance="expCovMZ", means="expMean", dimnames=selVars)
在一堆脚本中更新这些内容很容易,将mxFIMLObjective
替换为mxExpectationNormal
+调用mxFitFunctionML
此外,在这样的旧式多组目标中:
minus2ll <- mxAlgebra( expression = MZ.objective + DZ.objective, name="m2LL")
obj <- mxAlgebraObjective("m2LL")
您应该将mxAlgebraObjective
替换为mxFitFunctionAlgebra
然而,OpenMx 2具有整齐的多组功能,可在一行中处理此功能,并支持识别检查,参考模型生成等。
所以只需用(例如)替换整个事物:
mxFitFunctionMultigroup(c("MZ", "DZ"))}