Learn R Programming

editrules (version 2.7.2)

substValue: Replace a variable by a value in a set of edits.

Description

Replace a variable by a value in a set of edits.

Usage

substValue(E, var, value, ...)

  ## S3 method for class 'editmatrix':
substValue(E, var, value,
    reduce = FALSE, removeredundant = TRUE, ...)

  ## S3 method for class 'editarray':
substValue(E, var, value,
    reduce = FALSE, ...)

  ## S3 method for class 'editset':
substValue(E, var, value,
    simplify = TRUE, ...)

  ## S3 method for class 'editlist':
substValue(E, var, value, ...)

  ## S3 method for class 'editenv':
substValue(E, var, value, ...)

Arguments

var
character with name(s) of variable(s) to substitute
value
vector with value(s) of variable(s)
...
arguments to be passed to or from other methods
reduce
logical should the result be simplified? For editmatrix this has the same effect as calling the function reduce. For
removeredundant
logical. Should empty rows be removed?
simplify
Simplify editset by moving logical edits containing a single numerical statement to the pure numerical part? (This is mostly for internal purposes and overwriting the default should normally not be necessary for package users).

Value

  • E, with variables replaced by values

References

Value substitution is extensively described in the package vignettes.

See Also

eliminate

Examples

Run this code
E <- editmatrix(expression(
    x + y == z,
    2*y < 10,
    3*x + 1.5*u < 7,
    z >= 0
    )
)

# single value
substValue(E,'z',10)
# multiple values
substValue(E,c('x','y'),c(1,3))
# remove substituted variable from edits
substValue(E,'z',10,reduce=TRUE)
# do not remove redundant row:
substValue(E,'z',10,removeredundant=FALSE)


# example with an editset
E <- editset(expression(
    x  + y == z,
    x >= 0,
    y >= 0,
    A %in% c('a1','a2'),
    B %in% c('b1','b2'),
    if ( x > 0 ) y > 0,
    if ( y > 0 ) x > 0,
    if ( A == 'a' ) B == 'b',
    if ( A == 'b' ) y > 3
    )
)

# substitute pure numerical variable
substValue(E,'z',10)
# substitute pure categorical variable
substValue(E,'A','a1')
# substitute variable appearing in logical constraints
substValue(E,'x',3)

Run the code above in your browser using DataLab