Skip to contents

The D of Cockerham (1954), Eqn 13.1 of Mrode & Pocrnic (4th ed., p.226): between animal x with parents s, d and animal y with parents f, m, d_xy = 0.25 (a_sf a_dm + a_sd a_fm), with a the additive relationship and the diagonal equal to 1. The formula assumes a non-inbred population; with inbreeding in the pedigree the off-diagonals are the classic approximation, not an exact identity.

Usage

dominance_matrix(ped)

Arguments

ped

data.frame with animal, sire and dam, as in model(); unknown parent 0 or NA

Value

dominance relationship matrix, rows and columns named by animal in the topological order of pedigree(), ready for kernel(id, K = )

Details

The matrix is DENSE and is built from the full tabular A, so this is for pedigrees of moderate size. For a large pedigree use dominance_inverse(), the sparse inverse of the same D by sire x dam subclasses (Hoeschele & VanRaden, 1991, generalized to inbreeding and overlapping generations), which enters the model as kernel(id, Kinv = dominance_inverse(ped)) with the same likelihood as kernel(id, K = dominance_matrix(ped)) whenever that representation exists (see its page).

Examples

ped <- data.frame(animal = c("1", "2", "3", "4"),
                  sire   = c("0", "0", "1", "1"),
                  dam    = c("0", "0", "2", "2"))
dominance_matrix(ped)["3", "4"]   # full sibs: 0.25
#> [1] 0.25