** Utilities for Formulas, Expressions, Calls, Assignments and Other R Objects**
These utilities facilitate the programmatic manipulations of formulas, expressions, calls, names, symbols and other R language objects. These objects all share the same structure: a left-hand side (lhs), an operator (op) and right-hand side (rhs). This packages provides methods for accessing and modifying this structures as well as extracting and replacing names and symbols from these objects.
It is easiest to understand through the [#Examples].
lhs: get/set the left-hand side of an object
rhs: get/set the right-hand side of an object
op: get/set the operator of an object
base::all.varsexcept all symbols (e.g.
.) can be interpolated from data, so that things like
y ~ .can return the correct values.
get.varson lhs of the object
get.varson rhs of the object
terms: get the terms from an object by interpolating special symbols (e.g.
.) using a data set data. Extends
split_terms: split (mathematical) terms into an expression vector without interpolating special symbols (e.g.
Formula terms and operators can be accessed or changed.
## Get parts of formula form <- y ~ x lhs(form) # y lhs(form) <- quote(t) form # t ~ x rhs(form) # x rhs(form) <- 1 form # t ~ 1 ## Get variables (names) form <- y ~ m*x + b get.vars(form) # "y" "m" "x" "b" lhs.vars(form) # "y" rhs.vars(form) # "m" "x" "b" ## Split terms terms(form) split_terms(form) # expression(Species ~ . - Sepal.Length) split_terms( quote(a+(b+(c+d))), recursive=TRUE ) # expression(a, b, c, d)