An R6 class that stores family data and a kinship matrix.
Methods of this class can be used to fit regression models such as polygenic mixed models. The class currently supports only family data with one observation per subject and will check that this requirement is met.
Note that the private data member of the instance (returned by the
FamData$get_data() method) will always be sorted by
ascending family_id and ascending indiv_id within family_id
regardless of the sort order of the input data set. Also, pedigree columns
in the input data set will be renamed in the data member; this mapping
can be returned using the FamData$get_var_map()
method.
new()Constructs a new instance of this class.
FamData$new(data, ...)
dataA data.frame or data.table containing all
phenotypes and genetic variables of interest.
...The arguments required for a particular method signature; see below for detailed descriptions.
family_idCharacter string containing the name of a numeric or
character column in data containing a family identifier.
indiv_idCharacter string containing the name of a numeric or
character column in data containing a individual identifier.
probandCharacter string containing the name of a numeric column
in data containing 1 for probands and 0 otherwise. NA is not
permitted.
sexCharacter string containing the name of a numeric column in
data containing the individual's sex (1 = "male", 2 = "female")
or NA if unknown.
maternal_idCharacter string containing the name of a column in
data of the same type as indiv_id containing the indiv_id of the
individual's mother or 0 (numeric), "" (character), or NA if a
founder. See documentation for kinship2::pedigree.
paternal_idCharacter string containing the name of a column in
data of the same type as indiv_id containing the indiv_id of the
individual's father or or 0 (numeric), "" (character), or NA if a
founder. See documentation for kinship2::pedigree.
mzgrpCharacter string containing the name of a numeric,
character, or factor column in data containing the same value for all
members of a monozygotic twin group. NA should be used for all
individuals who are not monozygotic twins.
dzgrpCharacter string containing the name of a numeric,
character, or factor column in data containing the same value for all
members of a dizygotic twin group. NA should be used for all
individuals who are not dizygotic twins.
phiA matrix coercible to a Matrix::dsCMatrix containing
the pairwise kinship coefficients for individuals. Note that
phi[i, j] must contain the kinship coefficient between the
individuals in data[i, ] and data[j, ].
All constructor arguments other than data
must be named. There are two possible constructor signatures:
FamData$new(data, family_id, indiv_id, proband, sex, maternal_id, paternal_id, mzgrp, dzgrp) FamData$new(data, family_id, indiv_id, proband, phi)
get_data()Returns a copy of data member (to prevent accidental
modification of data member data.table by reference).
FamData$get_data()
get_data_name()Returns name of input data.frame or data.table.
FamData$get_data_name()
get_consang()Returns vector containing family IDs in which consanguinity was found (based on individual self-kinship coefficient greater than 0.5).
FamData$get_consang()
get_phi()Returns kinship matrix member.
FamData$get_phi()
get_var_map()Returns list mapping variable names in input data set in
data argument to those in data member.
FamData$get_var_map()
print()Prints information about contents of FamData objects
with nice formatting.
FamData$print()
lmm()Fits a linear mixed model to ascertained families
FamData$lmm(formula, ...)
formulaA Formula::Formula() object describing the model for a
phenotype. The formula is of the form y ~ mean | group, where y
(required) is the outcome, mean (optional) specifies the mean model
that includes an intercept by default, and | group (optional)
specifies a factor term that can be used assign families to homogeneous
groups with different variance components. Multiple variables can be
combined into a single factor using :.
...Additional parameters to pass to the control list for
optim() with method = "L-BGFS-B". Note that parscale and
fnscale cannot be modified.
See vignette("linear_mixed_models") for background,
implementation details, and references.
Returns a FamLMMFit object.
plot_pedigree()For objects initialized with pedigree data, allows plotting
of individual pedigrees using kinship2::plot.pedigree.
FamData$plot_pedigree(famid)
famidArgument matching the value of a single family in the
family_id column used in the constructor.
clone()The objects of this class are cloneable with this method.
FamData$clone(deep = FALSE)
deepWhether to make a deep clone.