formula.tools (version 1.5.4)

formula.parts: Manipulate the component parts of formulas, expressions, calls, name/symbols and list and vectors of such objects.

Description

lhs, rhs, op, and op.type retrieve the various parts of R formulas, calls, expressions, names/symbols. These functions were designed to greatly facilitate symbolic manupulation using native R objects. Also provided are methods to handle list of these objects.

Usage

.lhs.singular(x)
lhs(x, ...)
"lhs"(x)
"lhs"(x)
"lhs"(x)
"lhs"(x, ...)
"lhs"(x, ...)
lhs(x) <- value
.replace.lhs.singular(x, value)
"lhs"(x) <- value
"lhs"(x) <- value
.replace.lhs.plural(x, value)
"lhs"(x) <- value
"lhs"(x) <- value
op(x)
"op"(x)
"op"(x)
"op"(x)
"op"(x)
"op"(x)
"op"(x)
op(x) <- value
"op"(x) <- value
"op"(x) <- value
.replace.op.plural(x, value)
"op"(x) <- value
"op"(x) <- value
rhs(x, ...)
.rhs.singular(x)
"rhs"(x)
"rhs"(x)
"rhs"(x)
"rhs"(x, ...)
"rhs"(x, ...)
rhs(x) <- value
.replace.rhs.singular(x, value)
"rhs"(x) <- value
"rhs"(x) <- value
.replace.rhs.plural(x, value)
"rhs"(x) <- value
"rhs"(x) <- value

Arguments

x
object from where to get/set the lhs/rhs
...
arguments passed to additional methods

lhs retrieves the left-hand side rhs retrieves the right-hand side op retrieves the operation op.type returns the type operator

There are also functions lhs.vars and rhs.vars. Like all.vars , these functions interpret the variables on the left-hand and right-hand sides respectively.

These are simple functions for extracting the left-hand side, right-hand side, operator and operator type from formulas, expressions, calls, names/symbols and list containing these objects. lhs, rhs are only defined for formulas and calls ( and list and expressions ) that are defined with either one of the relational or tilde ('~') operators. If the object does not contain one of these operators, it will fail with a warning.

The defined operator types are defined by the operator.tools package: See operators and setOperator

The lhs.vars and rhs.vars methods, return the variables used on the lhs and rhs, respectively. If special formula variables are used, such as '.', a data.frame or environment must also be provided such that the variable list may be properly infered.

value
the value to set for the lhs/rhs

Value

Value depends on the argument.

See Also

terms, all.vars, all.names, operators

Examples

Run this code
# FORMULA
  f <- A + B ~ C + D
  lhs(f)
  lhs(f) <- quote( E / F )

  rhs(f)
  rhs(f) <- quote( G + H )
  op(f)
  op(rhs(f))
  op( quote(A) )  # NULL:
  op.type(f)

  # ONE-SIDED FORMULA
  f <- ~ A   #
  lhs(f)     # NULL
  rhs(f)     # A


  # EXPRESSION
  e <- expression( A + B == C + D )
  lhs(e)
  rhs(e)
  op(e)
  op.type(e)


  # CALL
  c <- quote( A + B > C + D )
  lhs(c)
  lhs(c) <- quote(E)
  rhs(c)

  op(c)
  op.type(c)

  # ASSIGNMENT
  a  <- quote( A <- B )
  lhs(a)
  rhs(a)
  op(a)
  op.type(a)

Run the code above in your browser using DataCamp Workspace