| ifelseAB {spatstat.utils} | R Documentation |
Conditional Selection
Description
These low-level functions provide faster alternatives to
some uses of ifelse.
Usage
ifelseAB(test, a, b)
ifelseAX(test, a, x)
ifelseXB(test, x, b)
ifelseXY(test, x, y)
ifelseNegPos(test, x)
ifelse0NA(test)
ifelse1NA(test)
Arguments
test |
A logical vector. |
a |
A single atomic value. |
b |
A single atomic value. |
x |
A vector of values, of the same length as |
y |
A vector of values, of the same length as |
Details
These low-level functions provide faster alternatives to
some uses of ifelse. They were developed by
trial-and-error comparison of computation times of different expressions.
ifelse0NA(test) is equivalent to ifelse(test, 0, NA).
ifelse1NA(test) is equivalent to ifelse(test, 1, NA).
ifelseAB(test, a, b) is equivalent to ifelse(test, a, b)
where a and b must be single values.
ifelseAX(test, a, x) is equivalent to ifelse(test, a, x)
where a must be a single value, and x a vector of the
same length as test.
ifelseXB(test, x, b) is equivalent to ifelse(test, x, b)
where b must be a single value, and x a vector of the
same length as test.
ifelseXY(test, x, y) is equivalent to ifelse(test, x, y)
where x and y must be vectors of the
same length as test.
ifelseNegPos(test, x) is equivalent to ifelse(test, x, -x)
where x must be a vector of the same length as test.
Value
A vector of the same length as test containing values of the
same type as a,b,x,y.
Author(s)
Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner rolfturner@posteo.net and Ege Rubak rubak@math.aau.dk.
See Also
Examples
x <- runif(4e5)
u <- (x < 0.5)
system.time(ifelse(u, 2, x))
system.time(ifelseAX(u, 2, x))