R/ace-univariate.R
Ace.Rd
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")
method | The specific estimation technique. |
---|---|
dataSet | The base::data.frame that contains the two outcome
variables and the relatedness coefficient (corresponding to |
oName_S1 | The name of the outcome variable corresponding to the first
subject in the pair. This should be a |
oName_S2 | The name of the outcome variable corresponding to the second
subject in the pair. This should be a |
rName | The name of the relatedness coefficient for the pair (this is
typically abbreviated as |
manifestScale | Currently, only continuous manifest/outcome variables are supported. |
Currently, a list is returned with the arguments ASquared
, CSquared
, ESquared
, and RowCount
.
In the future, this may be changed to an S4
class.
The AceUnivariate()
function is a wrapper that calls
DeFriesFulkerMethod1()
or DeFriesFulkerMethod3()
. Future
versions will incorporate methods that use latent variable models.
Rodgers, Joseph Lee, & Kohler, Hans-Peter (2005). Reformulating and simplifying the DF analysis model. Behavior Genetics, 35 (2), 211-217.
Will Beasley
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+04estimatedMath <- 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#> [1] "lm"#> #> 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 #>