Learn R Programming

ggpedigree (version 1.1.0.3)

calculateConnections: Calculate connections for a pedigree dataset

Description

Computes graphical connection paths for a pedigree layout, including parent-child, sibling, and spousal connections. Optionally processes duplicate appearances of individuals (marked as `extra`) to ensure relational accuracy.

Usage

calculateConnections(
  ped,
  config = list(),
  spouseID = "spouseID",
  personID = "personID",
  momID = "momID",
  famID = "famID",
  twinID = "twinID",
  dadID = "dadID"
)

Value

A `data.frame` containing connection points and midpoints for graphical rendering. Includes:

  • `x_pos`, `y_pos`: positions of focal individual

  • `x_dad`, `y_dad`, `x_mom`, `y_mom`: parental positions (if available)

  • `x_spouse`, `y_spouse`: spousal positions (if available)

  • `x_mid_parent`, `y_mid_parent`: midpoint between parents

  • `x_mid_sib`, `y_mid_sib`: sibling group midpoint

  • `x_mid_spouse`, `y_mid_spouse`: midpoint between spouses

Arguments

ped

A data frame containing the pedigree data. Needs personID, momID, dadID, and sex columns.

config

List of configuration parameters. Currently unused but passed through to internal helpers.

spouseID

Character string specifying the column name for spouse IDs. Defaults to "spouseID".

personID

Character string specifying the column name for individual IDs. Defaults to "personID".

momID

Character string specifying the column name for mother IDs. Defaults to "momID".

famID

Character string specifying the column name for family IDs. Defaults to "famID".

twinID

Character string specifying the column name for twin IDs. Defaults to "twinID".

dadID

Character string specifying the column name for father IDs. Defaults to "dadID".

See Also

calculateCoordinates, ggPedigree, vignette("v00_plots")

Examples

Run this code
ped <- data.frame(
  personID = c("A", "B", "C", "D", "X"),
  momID = c(NA, "A", "A", "C", NA),
  dadID = c(NA, "X", "X", "B", NA),
  spouseID = c("X", "C", "B", NA, "A"),
  sex = c("F", "M", "F", "F", "M")
)

coords <- calculateCoordinates(ped, code_male = "M")
conns <- calculateConnections(coords, config = list(code_male = "M"))
names(conns)
head(conns$connections)

Run the code above in your browser using DataLab