assign-if: Assign a values to a variable for instances where a condition...

assign_ifR 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

memisc documentation built on March 31, 2023, 7:29 p.m.