Learn R Programming

statnet.common (version 4.10.0)

term_list: A helper class for list of terms in an formula

Description

Typically generated by list_rhs.formula(), it contains, in addition to a list of call() or similar objects, attributes "sign" and "env", containing, respectively a vector of signs that the terms had in the original formula and a list of environments of the formula from which the term has been extracted. Indexing and concatenation methods preserve these.

Usage

term_list(x, sign = +1, env = NULL)

as.term_list(x, ...)

# S3 method for term_list as.term_list(x, ...)

# S3 method for default as.term_list(x, sign = +1, env = NULL, ...)

# S3 method for term_list c(x, ...)

# S3 method for term_list [(x, i, ...)

# S3 method for term_list print(x, ...)

Arguments

x

a list of terms or a term; a term_list

sign

a vector specifying the signs associated with each term (-1 and +1)

env

a list specifying the environments, or NULL

...

additional arguments to methods

i

list index

See Also

list_rhs.formula(), list_summands.call()

Examples

Run this code

e1 <- new.env()
f1 <- a~b+c
environment(f1) <- e1
f2 <- ~-NULL+1

(l1 <- list_rhs.formula(f1))
(l2 <- list_rhs.formula(f2))

(l <- c(l1,l2))
# \dontshow{
stopifnot(identical(c(unclass(l)), alist(b, c, NULL, 1)))
stopifnot(identical(attr(l, "sign"), c(1,1,-1,1)))
stopifnot(identical(attr(l, "env"), rep(list(e1, globalenv()), each=2)))
# }

(l <- c(l2[1], l1[2], l1[1], l1[1], l2[2]))
# \dontshow{
stopifnot(identical(c(unclass(l)), alist(NULL, c, b, b, 1)))
stopifnot(identical(attr(l, "sign"), c(-1,1,1,1,1)))
stopifnot(identical(attr(l, "env"), list(globalenv(), e1, e1, e1, globalenv())))
# }

Run the code above in your browser using DataLab