I'm recently learning the univariate twin analysis. According to the documents, I got the a2, c2, and e2. How could I estimate the confidence intervals for each value? Thanks.

You'll want to include an MxCI object in your MxModel. For instance, if the labels of those free parameters are literally "a2", "c2", and "e2", then include something like

mxCI(c("a2","c2","e2"))

in your mxModel() statement. Or, create an MxCI object, e.g.,

confInt <- mxCI(c("a2","c2","e2"))

and be sure to pass object confInt along with your MxMatrices etc. to mxModel().

Then, be sure to include argument intervals=TRUE when you invoke mxRun(), e.g.

I tried both approaches AdminRobK mentions in the response, but I always receive the following error message when running the model: Error in free[i, j] : subscript out of bounds. Can you please check what might be wrong with how I adjusted the UnivariateTwinAnalysis_PathRaw.R code (see below)? Or might there be a bug in the software version I'm running? Thanks!

What version of OpenMx are you running? I believe this is the result of a bug that was repaired several minor-version releases ago. In a more recent release, you should get an error about OpenMx not recognizing a name given to mxCI()...it doesn't appear that you actually ever put an object with name "StdVarComp" into the MxModel you're passing to mxRun().

You'll want to include an MxCI object in your MxModel. For instance, if the labels of those free parameters are literally

`"a2"`

,`"c2"`

, and`"e2"`

, then include something likein your

`mxModel()`

statement. Or, create an MxCI object, e.g.,and be sure to pass object

`confInt`

along with your MxMatrices etc. to`mxModel()`

.Then, be sure to include argument

`intervals=TRUE`

when you invoke`mxRun()`

, e.g.For details, see the documentation for

`mxCI()`

.## I tried both approaches AdminRobK mentions in the response, but I always receive the following error message when running the model: Error in free[i, j] : subscript out of bounds. Can you please check what might be wrong with how I adjusted the UnivariateTwinAnalysis_PathRaw.R code (see below)? Or might there be a bug in the software version I'm running? Thanks!

## Load Data

data(twinData)

## Select Variables for Analysis

selVars <- c('bmi1','bmi2')

aceVars <- c("A1","C1","E1","A2","C2","E2")

## Select Data for Analysis

mzData <- subset(twinData, zyg==1, selVars)

dzData <- subset(twinData, zyg==3, selVars)

## Generate Descriptive Statistics

colMeans(mzData,na.rm=TRUE)

colMeans(dzData,na.rm=TRUE)

cov(mzData,use="complete")

cov(dzData,use="complete")

require(OpenMx)

## Path objects for Multiple Groups

manifestVars=selVars

latentVars=aceVars

## variances of latent variables

latVariances <- mxPath( from=aceVars, arrows=2,

+ free=FALSE, values=1 )

## means of latent variables

latMeans <- mxPath( from="one", to=aceVars, arrows=1,

+ free=FALSE, values=0 )

## means of observed variables

obsMeans <- mxPath( from="one", to=selVars, arrows=1,

+ free=TRUE, values=20, labels="mean" )

## path coefficients for twin 1

pathAceT1 <- mxPath( from=c("A1","C1","E1"), to="bmi1", arrows=1,

+ free=TRUE, values=.5, label=c("a","c","e") )

## path coefficients for twin 2

pathAceT2 <- mxPath( from=c("A2","C2","E2"), to="bmi2", arrows=1,

+ free=TRUE, values=.5, label=c("a","c","e") )

## covariance between C1 & C2

covC1C2 <- mxPath( from="C1", to="C2", arrows=2,

+ free=FALSE, values=1 )

## covariance between A1 & A2 in MZ twins

covA1A2_MZ <- mxPath( from="A1", to="A2", arrows=2,

+ free=FALSE, values=1 )

## covariance between A1 & A2 in DZ twins

covA1A2_DZ <- mxPath( from="A1", to="A2", arrows=2,

+ free=FALSE, values=.5 )

## Data objects for Multiple Groups

dataMZ <- mxData( observed=mzData, type="raw" )

dataDZ <- mxData( observed=dzData, type="raw" )

## Combine Groups

paths <- list( latVariances, latMeans, obsMeans,

+ pathAceT1, pathAceT2, covC1C2 )

mxMatrix(type="Full",nrow=3,ncol=1,free=T,values=.6,labels=c("a","c","e"),name="ace")

mxAlgebra( (ace%^%2) %x% solve(t(ace)%*%ace), name="StdVarComp",dimnames=list(c("a2","c2","e2"),NULL) )

mxCI("StdVarComp")

modelMZ <- mxModel(model="MZ", type="RAM", manifestVars=selVars,

+ latentVars=aceVars, paths, covA1A2_MZ, dataMZ, mxCI("StdVarComp"))

modelDZ <- mxModel(model="DZ", type="RAM", manifestVars=selVars,

+ latentVars=aceVars, paths, covA1A2_DZ, dataDZ )

minus2ll <- mxAlgebra( expression=MZ.fitfunction + DZ.fitfunction,

+ name="minus2loglikelihood" )

obj <- mxFitFunctionAlgebra( "minus2loglikelihood" )

modelACE <- mxModel(model="ACE", modelMZ, modelDZ, minus2ll, obj )

## Run Model

fitACE <- mxRun(modelACE, intervals=TRUE)

Error in free[i, j] : subscript out of bounds

What version of OpenMx are you running? I believe this is the result of a bug that was repaired several minor-version releases ago. In a more recent release, you should get an error about OpenMx not recognizing a name given to

`mxCI()`

...it doesn't appear that you actually ever put an object with name "StdVarComp" into the MxModel you're passing to`mxRun()`

.Also see my response and repaired script in this thread http://openmx.psyc.virginia.edu/thread/760