An ACE model is the foundation of most behavior genetic research. It estimates the additive heritability (with a), common environment (with c) and unshared heritability/environment (with e).

AceUnivariate(
  method         = c("DeFriesFulkerMethod1","DeFriesFulkerMethod3"),
  dataSet,
  oName_S1,
  oName_S2,
  rName          = "R",
  manifestScale  = "Continuous"
)

DeFriesFulkerMethod1(dataSet, oName_S1, oName_S2, rName="R")

DeFriesFulkerMethod3(dataSet, oName_S1, oName_S2, rName="R")

Arguments

method

The specific estimation technique.

dataSet

The base::data.frame that contains the two outcome variables and the relatedness coefficient (corresponding to oName_S1, oName_S2, and rName)

oName_S1

The name of the outcome variable corresponding to the first subject in the pair. This should be a character value.

oName_S2

The name of the outcome variable corresponding to the second subject in the pair. This should be a character value.

rName

The name of the relatedness coefficient for the pair (this is typically abbreviated as R). This should be a character value.

manifestScale

Currently, only continuous manifest/outcome variables are supported.

Value

Currently, a list is returned with the arguments ASquared, CSquared, ESquared, and RowCount. In the future, this may be changed to an S4 class.

Details

The AceUnivariate() function is a wrapper that calls DeFriesFulkerMethod1() or DeFriesFulkerMethod3(). Future versions will incorporate methods that use latent variable models.

References

Rodgers, Joseph Lee, & Kohler, Hans-Peter (2005). Reformulating and simplifying the DF analysis model. Behavior Genetics, 35 (2), 211-217.

Author

Will Beasley

Examples

library(NlsyLinks) #Load the package into the current R session. dsOutcomes <- ExtraOutcomes79 dsOutcomes$SubjectTag <- CreateSubjectTag( subjectID = dsOutcomes$SubjectID, generation = dsOutcomes$Generation ) dsLinks <- Links79Pair dsLinks <- dsLinks[dsLinks$RelationshipPath=='Gen2Siblings', ] #Only Gen2 Sibs (ie, NLSY79C) dsDF <- CreatePairLinksDoubleEntered( outcomeDataset = dsOutcomes, linksPairDataset = dsLinks, outcomeNames = c("MathStandardized", "HeightZGenderAge", "WeightZGenderAge") ) estimatedAdultHeight <- DeFriesFulkerMethod3( dataSet = dsDF, oName_S1 = "HeightZGenderAge_S1", oName_S2 = "HeightZGenderAge_S2" ) estimatedAdultHeight #ASquared and CSquared should be 0.60 and 0.10 for this rough analysis.
#> [1] "Results of ACE estimation: [show]" #> ASquared CSquared ESquared CaseCount #> 6.075526e-01 1.043565e-01 2.880909e-01 1.176800e+04
estimatedMath <- DeFriesFulkerMethod3( dataSet = dsDF, oName_S1 = "MathStandardized_S1", oName_S2 = "MathStandardized_S2" ) estimatedMath #ASquared and CSquared should be 0.85 and 0.045.
#> [1] "Results of ACE estimation: [show]" #> ASquared CSquared ESquared CaseCount #> 7.734447e-01 1.469204e-01 7.963486e-02 1.668000e+04
class(GetDetails(estimatedMath))
#> [1] "lm"
summary(GetDetails(estimatedMath))
#> #> Call: #> stats::lm(formula = dv_S1Centered ~ 0 + dv_S2Centered + interaction) #> #> Residuals: #> Min 1Q Median 3Q Max #> -49.195 -6.921 0.213 7.096 48.021 #> #> Coefficients: #> Estimate Std. Error t value Pr(>|t|) #> dv_S2Centered 0.14692 0.02541 5.783 7.49e-09 *** #> interaction 0.77344 0.05723 13.515 < 2e-16 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Residual standard error: 11.22 on 16678 degrees of freedom #> (5548 observations deleted due to missingness) #> Multiple R-squared: 0.2368, Adjusted R-squared: 0.2367 #> F-statistic: 2587 on 2 and 16678 DF, p-value: < 2.2e-16 #>