if statement
Duncan Murdoch wrote:
Shruthi Jayaram wrote:
Hi, How do I check for two conditions in an if loop? I want to check if a value lies between 2 other values.
"if" isn't normally a loop, but what you want is the vectorized version, the ifelse() function.
For example, A <- ts(rnorm(120), freq=12, start=c(1992,8)) X <- 0.5 Y <- 0.8 I would like to create a new vector C for which C[i] is 0 if A[i] lies in between X and Y.
C <- ifelse( X < A & A < Y, 0, A)
or using Petr's hint: C <- (A<X|A>Y)*A which seems much faster on substantial inputs. pay attention to whether your 'in between' is inclusive or not; the two versions above are not equivalent. vQ