Creates a linking file for BG designs using this file structure (e.g., DF analysis, other ACE modeling). DF analysis requires a double-entered file that contains the R value for the pair, and their two outcome variable values.

CreatePairLinksDoubleEnteredWithNoOutcomes() is intended to be a primarily a helper function for CreateSpatialNeighbours().

CreatePairLinksDoubleEntered(
  outcomeDataset,
  linksPairDataset,
  outcomeNames,
  linksNames             = c("ExtendedID", "R", "RelationshipPath"),
  validateOutcomeDataset = TRUE,
  subject1Qualifier      = "_S1",
  subject2Qualifier      = "_S2"
)

CreatePairLinksSingleEntered(
  outcomeDataset,
  linksPairDataset,
  outcomeNames,
  linksNames             = c("ExtendedID", "R", "RelationshipPath"),
  validateOutcomeDataset = TRUE,
  subject1Qualifier      = "_S1",
  subject2Qualifier      = "_S2"
)

CreatePairLinksDoubleEnteredWithNoOutcomes(
  linksPairDataset,
  linksNames = c("ExtendedID", "R", "RelationshipPath")
)

Arguments

outcomeDataset

A data frame containing the outcome variable(s)

linksPairDataset

A data frame containing the SubjectTags of each subject in the pair and their R coefficient.

outcomeNames

The column names of the outcome variable(s)

linksNames

The column names desired to be present in the newly created data frame. SubjectTag_S1 and SubjectTag_S2 are included automatically.

validateOutcomeDataset

Indicates if characteristics of the outcomeDataset should be validated.

subject1Qualifier

Indicates how the outcome variable for the pair's first subject is distinguished from the other subject. The default is _S1.

subject2Qualifier

Indicates how the outcome variable for the pair's second subject is distinguished from the other subject. The default is _S2.

References

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

Author

Will Beasley

Examples

dsSingleLinks <- data.frame(
  ExtendedID = c(1, 1, 1, 2),
  SubjectTag_S1 = c(101, 101, 102, 201),
  SubjectTag_S2 = c(102, 103, 103, 202),
  R = c(.5, .25, .25, .5),
  RelationshipPath = rep("Gen2Siblings", 4)
)
dsSingleOutcomes <- data.frame(
  SubjectTag = c(101, 102, 103, 201, 202),
  DV1        = c(11, 12, 13, 41, 42),
  DV2        = c(21, 22, 23, 51, 52)
)
dsDouble <- CreatePairLinksDoubleEntered(
  outcomeDataset         = dsSingleOutcomes,
  linksPairDataset       = dsSingleLinks,
  outcomeNames           = c("DV1", "DV2"),
  validateOutcomeDataset = TRUE
)
dsDouble # Show the 8 rows in the double-entered pair links
#>   SubjectTag_S1 SubjectTag_S2 ExtendedID    R RelationshipPath DV1_S1 DV2_S1
#> 1           101           102          1 0.50     Gen2Siblings     11     21
#> 2           101           103          1 0.25     Gen2Siblings     11     21
#> 3           102           103          1 0.25     Gen2Siblings     12     22
#> 4           201           202          2 0.50     Gen2Siblings     41     51
#> 5           102           101          1 0.50     Gen2Siblings     12     22
#> 6           103           101          1 0.25     Gen2Siblings     13     23
#> 7           103           102          1 0.25     Gen2Siblings     13     23
#> 8           202           201          2 0.50     Gen2Siblings     42     52
#>   DV1_S2 DV2_S2
#> 1     12     22
#> 2     13     23
#> 3     13     23
#> 4     42     52
#> 5     11     21
#> 6     11     21
#> 7     12     22
#> 8     41     51
summary(dsDouble) # Summarize the variables
#>  SubjectTag_S1   SubjectTag_S2     ExtendedID         R        
#>  Min.   :101.0   Min.   :101.0   Min.   :1.00   Min.   :0.250  
#>  1st Qu.:101.8   1st Qu.:101.8   1st Qu.:1.00   1st Qu.:0.250  
#>  Median :102.5   Median :102.5   Median :1.00   Median :0.375  
#>  Mean   :126.9   Mean   :126.9   Mean   :1.25   Mean   :0.375  
#>  3rd Qu.:127.5   3rd Qu.:127.5   3rd Qu.:1.25   3rd Qu.:0.500  
#>  Max.   :202.0   Max.   :202.0   Max.   :2.00   Max.   :0.500  
#>  RelationshipPath       DV1_S1          DV2_S1          DV1_S2     
#>  Length:8           Min.   :11.00   Min.   :21.00   Min.   :11.00  
#>  Class :character   1st Qu.:11.75   1st Qu.:21.75   1st Qu.:11.75  
#>  Mode  :character   Median :12.50   Median :22.50   Median :12.50  
#>                     Mean   :19.38   Mean   :29.38   Mean   :19.38  
#>                     3rd Qu.:20.00   3rd Qu.:30.00   3rd Qu.:20.00  
#>                     Max.   :42.00   Max.   :52.00   Max.   :42.00  
#>      DV2_S2     
#>  Min.   :21.00  
#>  1st Qu.:21.75  
#>  Median :22.50  
#>  Mean   :29.38  
#>  3rd Qu.:30.00  
#>  Max.   :52.00  

ValidatePairLinksAreSymmetric(dsDouble) # Should return TRUE.
#> [1] TRUE