splitForm {clustTMB} | R Documentation |
Split formula containing special random effect terms
Description
Parse a formula into fixed formula and random effect terms, treating 'special' terms appropriately
Usage
splitForm(
formula,
defaultTerm = "norm",
allowFixedOnly = TRUE,
allowNoSpecials = TRUE,
debug = FALSE
)
Arguments
formula |
a formula containing special random effect terms |
defaultTerm |
default type for non-special RE terms |
allowFixedOnly |
(logical) are formulas with no RE terms OK? |
allowNoSpecials |
(logical) are formulas with only standard RE terms OK? |
debug |
(logical) debug? |
Details
Taken from Steve Walker's lme4ord, ultimately from the flexLambda branch of lme4 https://github.com/stevencarlislewalker/lme4ord/blob/master/R/formulaParsing.R. Mostly for internal use.
Value
a list containing elements fixedFormula
;
reTrmFormulas
list of x | g
formulas for each term;
reTrmAddArgs
list of function+additional arguments, i.e. list()
(non-special), foo()
(no additional arguments), foo(addArgs)
(additional arguments); reTrmClasses
(vector of special functions/classes, as character)
Author(s)
Steve Walker
Examples
splitForm(~x+y) ## no specials or RE
splitForm(~x+y+(f|g)) ## no specials
splitForm(~x+y+diag(f|g)) ## one special
splitForm(~x+y+(diag(f|g))) ## 'hidden' special
splitForm(~x+y+(f|g)+cs(1|g)) ## combination
splitForm(~x+y+(1|f/g)) ## 'slash'; term
splitForm(~x+y+(1|f/g/h)) ## 'slash'; term
splitForm(~x+y+(1|(f/g)/h)) ## 'slash'; term
splitForm(~x+y+(f|g)+cs(1|g)+cs(a|b,stuff)) ## complex special
splitForm(~(((x+y)))) ## lots of parentheses
splitForm(~1+rr(f|g,n=2))