1

我有一个几年前编写的示例OpenMx脚本来进行双胞胎建模。

它是为 OpenMx 1.0 版编写的(此处链接的脚本)

当我运行它时,有一些关于更新拟合函数和目标的警告。我应该如何更新它以使用 OpenMx 2.0 fit 函数调用?

4

1 回答 1

2

从 OpenMx 1.0 到 2.0 及更高版本有少量更改。几乎所有脚本都可以正常运行,但如果您为 OpenMx 2.x 更新,一些 2012 之前的脚本或将受益于功能

此处引用了一个示例

用户有以下问题:

1. 没有辅助函数的路径

这是一个更通用的鲁棒性问题,例如 R 代码:最好包含 web url 而不是基于磁盘的文件路径。

source("http://www.vipbg.vcu.edu/~vipbg/Tc24/GenEpiHelperFunctions.R")

更好的解决方案是基于 CRAN 的帮助程序包,例如umx。这些更容易保持更新和访问。

2. 旧式目标(而不是期望和拟合函数)

像这样的调用已被弃用:

objMZ<- mxFIMLObjective(covariance="expCovMZ", means="expMean", dimnames=selVars)

在一堆脚本中更新这些很容易,替换mxFIMLObjectivemxExpectationNormal+ 调用mxFitFunctionML

此外,在老式的多组目标中,如下所示:

minus2ll <- mxAlgebra( expression = MZ.objective + DZ.objective, name="m2LL")
obj  <- mxAlgebraObjective("m2LL")

你应该替换mxAlgebraObjectivemxFitFunctionAlgebra

然而,OpenMx 2 有一个简洁的 Multigroup 函数,它可以在一行中处理这个问题,并且可以进行识别检查、参考模型生成等。

因此,只需将整个内容替换为(例如):

mxFitFunctionMultigroup(c("MZ", "DZ"))}
于 2016-02-23T13:50:14.360 回答