umxDiscTwin {umx}R Documentation

Intra-pair association in MZ, DZ twin models. (ALPHA quality!)

Description

Testing causal claims is often difficult due to an inability to experimentally randomize traits and situations. A combination of control data and data from twins discordant for the putative causal trait can falsify causal hypotheses.

umxDiscTwin uses nlme::nlme() to compute the beta for x in y ~ x in models either a) Only controlling non-independence, and b) MZ and DZ subsample models in which the family level of the predictor y is also controlled.

If x is causal, then the effect size of x on y is expected to be equally large in all three samples. If the population association reflects confounded genes or shared environments, then the association in MZ twins will reduce to zero/non-significance.

Figure: Types of confounding

The function uses the nlme::lme() function to compute the effect of the presumed causal variable on the outcome, controlling, for mid-family score and with random means model using familyID. e.g.:

mzModel = lme(fixed = y ~ x + FamMeanX, random = ~ 1+FamMeanX|FAMID, data = umx_scale(MZ), na.action = "na.omit")

Example output from umxDiscTwin

Figure: Causation in Discordant twins

Usage

umxDiscTwin(
  x,
  y,
  data,
  mzZygs = c("MZFF", "MZMM"),
  dzZygs = c("DZFF", "DZMM", "DZOS"),
  FAMID = "FAMID",
  out = c("table", "plot", "model"),
  use = "complete.obs",
  sep = "_T"
)

Arguments

x

Cause

y

Effect

data

dataframe containing MZ and DZ data

mzZygs

MZ zygosities c("MZFF", "MZMM")

dzZygs

DZ zygosities c("DZFF", "DZMM", "DZOS")

FAMID

The column containing family IDs (default = "FAMID")

out

Whether to return the table or the ggplot (if you want to decorate it)

use

NA handling in corr.test (default= "complete.obs")

sep

The separator in twin variable names, default = "_T", e.g. "dep_T1".

Value

References

See Also

Other Twin Modeling Functions: power.ACE.test(), umxACEcov(), umxACEv(), umxACE(), umxCP(), umxDiffMZ(), umxDoCp(), umxDoC(), umxGxE_window(), umxGxEbiv(), umxGxE(), umxIP(), umxMRDoC(), umxReduceACE(), umxReduceGxE(), umxReduce(), umxRotate.MxModelCP(), umxSexLim(), umxSimplex(), umxSummarizeTwinData(), umxSummaryACEv(), umxSummaryACE(), umxSummaryDoC(), umxSummaryGxEbiv(), umxSummarySexLim(), umxSummarySimplex(), umxTwinMaker(), umx

Examples

## Not run: 
data(twinData)
# add to test must set FAMID umxDiscTwin(x = "ht", y = "wt", data = twinData, sep="")
tmp = umxDiscTwin(x = "ht", y = "wt", data = twinData, sep="", FAMID = "fam")
print(tmp, digits = 3)

## End(Not run)

[Package umx version 4.20.0 Index]