is_formula

0th

Percentile

Is object a formula?

is_formula() tests if x is a call to ~. is_bare_formula() tests in addition that x does not inherit from anything else than "formula".

Usage
is_formula(x, scoped = NULL, lhs = NULL)

is_bare_formula(x, scoped = NULL, lhs = NULL)

Arguments
x

An object to test.

scoped

A boolean indicating whether the quosure is scoped, that is, has a valid environment attribute. If NULL, the scope is not inspected.

lhs

A boolean indicating whether the formula or definition has a left-hand side. If NULL, the LHS is not inspected.

Details

The scoped argument patterns-match on whether the scoped bundled with the quosure is valid or not. Invalid scopes may happen in nested quotations like ~~expr, where the outer quosure is validly scoped but not the inner one. This is because ~ saves the environment when it is evaluated, and quoted formulas are by definition not evaluated.

Aliases
  • is_formula
  • is_bare_formula
Examples
library(rlang) # NOT RUN { x <- disp ~ am is_formula(x) is_formula(~10) is_formula(10) is_formula(quo(foo)) is_bare_formula(quo(foo)) # Note that unevaluated formulas are treated as bare formulas even # though they don't inherit from "formula": f <- quote(~foo) is_bare_formula(f) # However you can specify `scoped` if you need the predicate to # return FALSE for these unevaluated formulas: is_bare_formula(f, scoped = TRUE) is_bare_formula(eval(f), scoped = TRUE) # }
Documentation reproduced from package rlang, version 0.2.0, License: GPL-3

Community examples

Looks like there are no examples yet.