You are here

Different age (covariate) for siblings

2 posts / 0 new
Last post
Cuttlefish's picture
Joined: 09/12/2018 - 12:23
Different age (covariate) for siblings

Dear all,
I’m working on the bivariate ACE model from 2016 Boulder workshop from Hermione Maes ‘twoSATja’ and ‘twoACEja’ ( I use questionnaire data and some participants filled this out one or two years later than their twin siblings, this means that some siblings differ in age. How do I adjust the model to allow different ages between twins? I keep running into problems with non-conforming arrays…

Below the parts of the script that I have trouble adapting:

# Select Covariates for Analysis
ordData[,'age'] <- ordData[,'age']/100
ordData   <- ordData[-which($age)),]
covVars   <- c('age')
nc        <- 2                         # number of covariates

I adapted the above code to:

covVars <-c('age1', 'age2')
nc <-2

But I keep having trouble adapting the defAge, pathB and expMean in code below:

# ACE Model
# Create Matrices for Covariates and linear Regression Coefficients
defAge    <- mxMatrix( type="Full", nrow=1, ncol=1, free=FALSE, labels=c("data.age"), name="Age" )
pathB     <- mxMatrix( type="Full", nrow=nc, ncol=1, free=TRUE, values=.01, label=labBe, name="b" )
# Create Algebra for expected Mean Matrices
meanG     <- mxMatrix( type="Full", nrow=1, ncol=ntv, free=frMV, values=svMe, labels=labMe, name="meanG" )
expMean   <- mxAlgebra( expression= meanG + cbind(t(b%*%Age),t(b%*%Age)), name="expMean" )
thinG     <- mxMatrix( type="Full", nrow=nth, ncol=ntvo, free=TRUE, values=svTh, lbound=lbTh, labels=labTh, name="thinG" )
inc       <- mxMatrix( type="Lower", nrow=nth, ncol=nth, free=FALSE, values=1, name="inc" )
threG     <- mxAlgebra( expression= inc %*% thinG, name="threG"

Thanks for you help!

AdminRobK's picture
Joined: 01/24/2014 - 12:15
Try this

Try this:

defAge    <- mxMatrix( type="Full", nrow=1, ncol=4, free=FALSE, labels=c("data.age1","data.age1","data.age2","data.age2"), name="Age" )
pathB     <- mxMatrix( type="Full", nrow=1, ncol=4, free=TRUE, values=.01, label=c("beta1","beta2","beta1","beta2"), name="b" )
expMean   <- mxAlgebra( expression= meanG + (b*Age), name="expMean" )