View source: R/umx_build_umxGxEbiv.R
umxGxEbiv | R Documentation |
GxE interaction models test the hypothesis that the strength of genetic and environmental influences vary parametrically across levels of a measured environment.
umxGxEbiv(
name = "GxEbiv",
selDVs,
selDefs,
dzData,
mzData,
sep = NULL,
lboundACE = 0,
lboundM = NA,
dropMissingDef = FALSE,
autoRun = getOption("umx_auto_run"),
tryHard = c("no", "yes", "ordinal", "search"),
optimizer = NULL
)
name |
The name of the model (defaults to "GxEbiv") |
selDVs |
The dependent variable (e.g. IQ) |
selDefs |
The definition variable (e.g. socioeconomic status) |
dzData |
The DZ dataframe containing the Twin 1 and Twin 2 DV and moderator (4 columns) |
mzData |
The MZ dataframe containing the Twin 1 and Twin 2 DV and moderator (4 columns) |
sep |
Expand variable base names, i.e., "_T" makes var -> var_T1 and var_T2 |
lboundACE |
If !NA, then lbound the main effects at this value (default = NA) |
lboundM |
If !NA, then lbound the moderators at this value (default = NA) |
dropMissingDef |
Whether to automatically drop missing def var rows for the user (gives a warning) default = FALSE |
autoRun |
Whether to run the model (default), or just to create it and return without running. |
tryHard |
Default ('no') uses normal mxRun. "yes" uses mxTryHard. Other options: "ordinal", "search" |
optimizer |
Optionally set the optimizer (default NULL does nothing) |
Whereas univariate umxGxE()
models assume the twins share the moderator,
or have zero correlation on the moderator, umxGxEbiv()
allows testing moderation in
cases where members of a twin pair differ on the moderator, (Purcell, 2002; van der Sluis et al., 2012).
This is the same model we teach at Boulder.
The following figure shows this bivariate GxE model as a path diagram (Twin 1 shown). Whereas the univariate model incorporates the moderator in the means model, the bivariate model incorporates the moderator as a first class variable, with its own ACE structure, shared pathways to the trait of interest, and the ability to moderate both specific and shared A, C, and E, influences on the trait of interest.
Twin 1 and twin 2 A, C, and E latent traits are connected in the standard fashion, with the covariance of the T1 and T2 latent genetic traits set to .5 for DZ and 1.0 for MZ pairs. For the sake of clarity, C, and E paths are omitted here. These mirror those for A.
GxEbiv mxModel()
Purcell, S. (2002). Variance components models for gene-environment interaction in twin analysis. Twin Research, 6, 554-571. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1375/twin.5.6.554")}.
van der Sluis, S., Posthuma, D., & Dolan, C. V. (2012). A note on false positives and power in G x E modelling of twin data. Behavior Genetics, 42, 170-186. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/s10519-011-9480-3")}.
plot()
, umxSummary()
, umxReduce()
Other Twin Modeling Functions:
power.ACE.test()
,
umxACEcov()
,
umxACEv()
,
umxACE()
,
umxCP()
,
umxDiffMZ()
,
umxDiscTwin()
,
umxDoCp()
,
umxDoC()
,
umxGxE_window()
,
umxGxE()
,
umxIP()
,
umxMRDoC()
,
umxReduceACE()
,
umxReduceGxE()
,
umxReduce()
,
umxRotate.MxModelCP()
,
umxSexLim()
,
umxSimplex()
,
umxSummarizeTwinData()
,
umxSummaryACEv()
,
umxSummaryACE()
,
umxSummaryDoC()
,
umxSummaryGxEbiv()
,
umxSummarySexLim()
,
umxSummarySimplex()
,
umxTwinMaker()
,
umx
require(umx)
data(twinData)
selDVs = "wt"
selDefs = "ht"
df = umx_scale_wide_twin_data(twinData, varsToScale = c("ht", "wt"), sep = "")
mzData = subset(df, zygosity %in% c("MZFF", "MZMM"))
dzData = subset(df, zygosity %in% c("DZFF", "DZMM", "DZOS"))
## Not run:
m1 = umxGxEbiv(selDVs = selDVs, selDefs = selDefs,
dzData = dzData, mzData = mzData, sep = "", dropMissingDef = TRUE)
# Plot Moderation
umxSummaryGxEbiv(m1)
umxSummary(m1, location = "topright")
umxSummary(m1, separateGraphs = FALSE)
m2 = umxModify(m1, update = c("cBeta2_r1c1", "eBeta1_r1c1", "eBeta2_r1c1"), comparison = TRUE)
# TODO: teach umxReduce to test all relevant hypotheses for umxGxEbiv
umxReduce(m1)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.