Formula operations and coercion as a supplement to update.formula()
formula_add_str(frm1, terms, op ="+")formula_add(frm1, frm2)formula_poly(chr1, n, noint =FALSE, y =NULL)formula_nth(frm1, n)formula_to_interaction_matrix(frm1)formula_chr_to_form(rhs, lhs = character(0))to_str(chr1, collapse ="+")terms_labels(frm1)simplify_rhs(object)## S3 method for class 'formula'simplify_rhs(object)## S3 method for class 'character'simplify_rhs(object)as_rhs_frm(object)as_lhs_frm(object)as_rhs_chr(object, string =FALSE)as_lhs_chr(object, string =FALSE)unique_formula(list_of_formulas)
Arguments
frm1, frm2: Formulas to be coerced to character vectors.
terms: Character string.
op: Either "+" (default) or "-".
chr1: Character vector to be coerced to formulas.
n: Positive integer.
noint: Boolean.
y: Response
rhs, lhs: right-hand-side and left-hand-side for formula (as characters)
collapse: Character to use as separator.
object: Character vector or formula.
string: Boolean.
list_of_formulas: list of formulas
Examples
formula_poly("z",2)formula_poly("z",2, noint=TRUE)as_rhs_chr(c("a","b","z"))as_rhs_chr(c("a*b","z"))as_rhs_chr(y~a+b+z)as_rhs_chr(y~a+b+z, string=TRUE)as_rhs_chr(y~a+b+z)as_rhs_chr(y~a*b+z)as_rhs_chr(y~a*b+z, string=TRUE)as_lhs_chr(y~a*b+z)as_lhs_chr(log(y)~a*b+z)## Not what one might expectas_lhs_chr(cbind(y, u)~a*b+z)## Not what one might expectformula_chr_to_form(c("a*b","z"))formula_chr_to_form(c("a*b","z"),"y")formula_chr_to_form(c("a*b","z"),"log(y)")formula_add(y~a*b+z,~-1)formula_add(y~a*b+z,~a:b)formula_add_str(y~x1 + x2,"x3")formula_add_str(y~x1 + x2,"x1")formula_add_str(y~x1 + x2,"x1", op="-")