CleanSemAceDataset {NlsyLinks} | R Documentation |
Produces a cleaned dataset that works well with when using SEM to estimate a univariate ACE model.
Description
This function takes a 'GroupSummary' base::data.frame (which is created by the RGroupSummary()
function) and returns a base::data.frame that is used by the Ace()
function.
Usage
CleanSemAceDataset(dsDirty, dsGroupSummary, oName_S1, oName_S2, rName = "R")
Arguments
dsDirty |
This is the base::data.frame to be cleaned. |
dsGroupSummary |
The base::data.frame containing information about which groups should be included in the analyses. It should be created by the |
oName_S1 |
The name of the manifest variable (in |
oName_S2 |
The name of the manifest variable (in |
rName |
The name of the variable (in |
Details
The function takes dsDirty
and produces a new base::data.frame with the following features:
Only three existing columns are retained:
O1
,O2
, andR
. They are assigned these names.A new column called
GroupID
is created to reflect their group membership (which is based on theR
value). These values are sequential integers, starting at 1. The group with the weakestR
is 1. The group with the strongestR
has the largestGroupID
(this is typically the MZ twins).Any row is excluded if it has a missing data point for
O1
,O2
, orR
.The base::data.frame is sorted by the
R
value. This helps program against the multiple-group SEM API sometimes.
Value
A base::data.frame with one row per subject pair. The base::data.frame contains the following variables (which can NOT be changed by the user through optional parameters):
-
R The pair's
R
value. -
O1 The outcome variable for the first subject in each pair.
-
O2 The outcome variable for the second subject in each pair.
-
GroupID Indicates the pair's group membership.
Author(s)
Will Beasley
Examples
library(NlsyLinks) # Load the package into the current R session.
dsLinks <- Links79PairExpanded # Start with the built-in data.frame in NlsyLinks
dsLinks <- dsLinks[dsLinks$RelationshipPath == "Gen2Siblings", ] # Use only NLSY79-C siblings
oName_S1 <- "MathStandardized_S1" # Stands for Outcome1
oName_S2 <- "MathStandardized_S2" # Stands for Outcome2
dsGroupSummary <- RGroupSummary(dsLinks, oName_S1, oName_S2)
dsClean <- CleanSemAceDataset(dsDirty = dsLinks, dsGroupSummary, oName_S1, oName_S2, rName = "R")
summary(dsClean)
dsClean$AbsDifference <- abs(dsClean$O1 - dsClean$O2)
plot(jitter(dsClean$R), dsClean$AbsDifference, col = "gray70")