assign_if {memisc} | R Documentation |
Assign a values to a variable for instances where a condition is met
Description
The %if%
operator allows to assign values to a variable only if
a condition is met i.e. results in TRUE
. It is supposed to
be used similar to the replace ... if
construct in Stata.
Usage
expr %if% condition
# For example
# (variable <- value) %if% (other_variable == 0)
Arguments
expr |
An expression that assigns a value to variable |
condition |
A logical vector or a an expression that evaluates to a logical vector |
Details
The 'value' that is assigned to the variable in expr
should either be a scalar, a vector with as many elements as the
condition vector has, or as many elements as the number of elements
in the condition vector that are equal (or evaluate to) TRUE
.
Examples
(test_var <- 1) %if% (1:7 > 3)
test_var
(test_var <- 2) %if% (1:7 <= 3)
test_var
(test_var <- 100*test_var) %if% (1:7%%2==0)
test_var
# This creates a warning about non-matching lengths.
(test_var <- 500:501) %if% (1:7 <= 3)
test_var
(test_var <- 501:503) %if% (1:7 <= 3)
test_var
(test_var <- 401:407) %if% (1:7 <= 3)
test_var
[Package memisc version 0.99.31.7 Index]