relationshipAdditive {GeneticsPed} | R Documentation |
relationshipAdditive
creates additive relationship matrix, while
inverseAdditive
creates its inverse directly from a
pedigree. kinship
is another definition of relationship and is
equal to half of additive relationship.
relationshipAdditive(x, sort=TRUE, names=TRUE, ...) inverseAdditive(x, sort=TRUE, names=TRUE, ...) kinship(x, sort=TRUE, names=TRUE, ...)
x |
Pedigree |
sort |
logical, for the computation the pedigree needs to be sorted, but results are sorted back to original sorting (sort=TRUE) or not (sort=FALSE) |
names |
logical, should returned matrix have row/colnames; this can be used to get leaner matrix |
... |
arguments for other methods |
Additive or numerator relationship matrix is symetric and contains
1 + F_i on diagonal, where F_i is an inbreeding coefficients
(see inbreeding
) for subject i. Off-diagonal
elements represent numerator or relationship coefficient bewteen
subjects i and j as defined by Wright (1922). Henderson
(1976) showed a way to setup inverse of relationship matrix
directly. Mrode (2005) has a very nice introduction to these concepts.
Take care with sort=FALSE, names=FALSE
. It is your own
responsibility to assure proper handling in this case.
A matrix of n * n dimension, where n is number of
subjects in x
Gregor Gorjanc and Dave A. Henderson
Henderson, C. R. (1976) A simple method for computing the inverse of a numerator relationship matrix used in prediction of breeding values. Biometrics 32(1):69-83
Mrode, R. A. (2005) Linear models for the prediction of animal breeding values. 2nd edition. CAB International. ISBN 0-85199-000-2 http://www.amazon.com/gp/product/0851990002
Wright, S. (1922) Coefficients of inbreeding and relationship. American Naturalist 56:330-338
Pedigree
, inbreeding
and
geneFlowT
data(Mrode2.1) Mrode2.1$dtB <- as.Date(Mrode2.1$dtB) x2.1 <- Pedigree(x=Mrode2.1, subject="sub", ascendant=c("fat", "mot"), ascendantSex=c("M", "F"), family="fam", sex="sex", generation="gen", dtBirth="dtB") (A <- relationshipAdditive(x2.1)) fractions(A) solve(A) inverseAdditive(x2.1) relationshipAdditive(x2.1[3:6, ]) ## Compare the speed ped <- generatePedigree(nId=10, nGeneration=3, nFather=1, nMother=2) system.time(solve(relationshipAdditive(ped))) system.time(inverseAdditive(ped))