| ainverse {asreml} | R Documentation |
Calculate an inverse relationship matrix
Description
Generates an inverse of a numerator relationship matrix in sparse triplet form from a pedigree data frame.
Usage
ainverse(
pedigree,
fgen = list(character(0), 0.01),
gender = character(0),
groups = 0,
groupOffset = 0,
selfing = NA,
inBreed = NA,
mgs = FALSE,
mv = NULL,
psort = FALSE,
core_version = NULL
)
Arguments
pedigree |
A data frame where the first three columns correspond to the
identifiers for the individual, male parent and female parent,
respectively. The row giving the pedigree of an individual must
appear before any row where that individual appears as a
parent. Founders or unknown parents use 0 (zero) or |
fgen |
An optional list of length two where |
gender |
An optional character string naming the column of |
groups |
An integer scalar ( |
groupOffset |
A numeric scalar e > 0 added to the diagonal elements of
A^-1 pertaining to |
selfing |
A numeric scalar (s) allowing for partial selfing when the
third field of |
inBreed |
A numeric scalar giving the inbreeding
coefficient for base individuals. This argument generates
the numerator relationship matrix for inbred lines. Each cross is
assumed to be selfed several times to stabilize as an inbred line
as is usual for cereal crops, for example, before being evaluated
or crossed with another line. Since inbreeding is usually
associated with strong selection, it is not obvious that a pedigree
assumption of covariance of 0.5 between parent and offspring
actually holds. The |
mgs |
If |
mv |
A character vector of missing value indicators; elements of
|
psort |
If |
core_version |
The version of the algorithmic core to use, not usually required. |
Details
Uses the method of Meuwissen and Luo, 1992 to compute the inverse relationship matrix directly from the pedigree.
Value
A three-column matrix with class ginv holding the lower
triangle of the inverse relationship matrix in sparse form. The
first two columns are the row and column indices,
respectively, and the third column holds the inverse matrix element
itself. Sort order is columns within rows, that is, the lower
triangle row-wise. This matrix has attributes:
rowNamesA character vector of identifiers for the rows of the matrix.
inbreedingA numeric vector containing the inbreeding coefficient for each individual, calculated as
diag(A-I).geneticGroupsA numeric vector of length two containing the
groupsandgroupOffsetarguments.logdetThe log determinant.
Examples
## Not run:
# Simple pedigree
ped <- data.frame(
me = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
dad = c(0, 0, 0, 1, 1, 2, 4, 5, 7, 9),
mum = c(0, 0, 0, 1, 1, 2, 6, 6, 8, 9))
p.ai <- ainverse(ped)
# Known filial generation
pdfg <- data.frame(
me = c(1, 2, 3, 4, 5, 6, 7),
dad = c(0, 0, 1, 1, 1, 1, 1),
mum = c(0, 0, 0, 2, 2, 2, 2),
fgen = c(NA, 0.8, 0.0, 2.0, 0.0, 2.0, 3.0))
pdfg.ai <- ainverse(pdfg, fgen = list("fgen", 0.4))
pdfg.mat <- sp2mat(pdfg.ai)
zapsmall(solve(pdfg.mat))
zapsmall(cbind(pdfg.a$inbreeding, diag(pdfg.mat)))
## End(Not run)