[R] if statement
    Wacek Kusnierczyk 
    Waclaw.Marcin.Kusnierczyk at idi.ntnu.no
       
    Mon Jan  5 13:17:27 CET 2009
    
    
  
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
    
    
More information about the R-help
mailing list