Usage
permanent(formula, ...)
common_env(formula, ...)
maternal_genetic(formula, pedigree = NULL, ...)
maternal_env(formula, ...)
paternal_genetic(formula, pedigree = NULL, ...)
paternal_env(formula, ...)
cytoplasmic(formula, ...)
imprinting(formula, pedigree = NULL, parent = c("maternal", "paternal"), ...)
dominance(formula, pedigree = NULL, D = NULL, Dinv = NULL, ...)
epistasis(formula, pedigree = NULL, E = NULL, Einv = NULL, ...)
relmat(formula, K = NULL, Kinv = NULL, Q = NULL, ...)
precision(formula, Q = NULL, ...)
group(formula, ...)
unknown_parent_group(formula, ...)
metafounder(formula, pedigree = NULL, group = NULL, Gamma = NULL, ...)
inbreeding(formula, ...)Arguments
- formula
A random-effect expression such as
1 | id.- ...
Reserved for future syntax.
- pedigree
A pedigree data frame for future parental and relationship effects.
- parent
Planned parent-of-origin side for imprinting effects.
- D, Dinv
Dominance relationship or precision matrices.
- E, Einv
Epistatic relationship or precision matrices.
- K, Kinv, Q
User-supplied relationship or precision matrices.
- group
Animal-to-metafounder group assignment, aligned to the normalized pedigree IDs for the opt-in supplied-variance
metafounder()bridge.- Gamma
A supplied metafounder relationship matrix (an
m-by-mcovariance over themmetafounder pseudo-populations; Legarra et al. 2015). Supplied, not estimated; used by the opt-in supplied-variancemetafounder()bridge.
Value
NULL, invisibly. Calls are interpreted by hsquared() when they
appear inside model formulas.
Details
These functions provide readable formula vocabulary for standard
quantitative-genetic, parental, inheritance, and custom-kernel models. Called
directly they are inert (they return NULL); they take meaning only inside an
hsquared() formula. permanent(), common_env(), and maternal_genetic()
now fit through an opt-in, experimental engine path (engine = "julia",
REML-only, not the default, mirroring a partial validation gate) as the
second random effect alongside animal(). metafounder() now fits through an
opt-in, supplied-variance, experimental engine path (engine = "julia",
target = "metafounder"); Gamma and the variance components are supplied,
not estimated. relmat() and precision() now fit through an opt-in,
EXPERIMENTAL supplied-relationship primary engine path (engine = "julia",
REML-only, not the default, mirroring a partial validation gate):
relmat(1 | id, K = K) supplies a dense symmetric positive-definite
relationship/covariance matrix K (the parser marshals the inverse
Kinv = solve(K); relmat() also accepts a directly supplied inverse via
Kinv =/Q =, no solve), and precision(1 | id, Q = Q) supplies the
precision (inverse) directly (Kinv = also accepted); both fit through the
SAME supplied-relationship-inverse path as genomic()'s Ginv, and the
supplied matrix is provenance, not an estimate. The remaining markers
(paternal/maternal-environment, dominance, epistasis, cytoplasmic, imprinting,
genetic groups / unknown-parent-groups, and inbreeding) are still inert syntax
reservations that the parser rejects with a planned-not-implemented message.
Some markers use generic names (e.g. group(), inbreeding()). They are
formula-only tokens detected by call head and are not meant to be called
directly, so attaching hsquared alongside a package that exports a
same-named function (e.g. pedigreemm::inbreeding()) may print a masking
message; this is expected and harmless.
inbreeding() is a reserved future effect, not an accessor for inbreeding
coefficients. There is no R function that returns the relationship matrix
A, A^{-1}, or F used by a fit (payload$Ainv stays NULL; Julia
builds the inverse). Compare those objects against nadiv or pedigreemm
through JuliaCall with HSquared.additive_relationship(),
HSquared.pedigree_inverse(), and HSquared.inbreeding_coefficients().
The fitting-models article shows the call.