On Tue, 2006-05-23 at 11:40 -0700, Sachin J wrote:
> Hi 
>    
>   How can do this in R.
>    
>   >df 
>    
>   48        
>   1          
>   35        
>   32        
>   80
>    
>   If df < 30  then replace it with 30 and else if df > 60 replace it
> with 60. I have a large dataset so I cant afford to identify indexes
> and then replace. 
>   Desired o/p:
>    
>   48
>   30
>   35
>   32
>   60
>    
>   Thanx in advance.
>    
> Sachin

One approach is to combine the use of two ifelse() statements:

> ifelse(df < 30, 30, ifelse(df > 60, 60, df))
[1] 48 30 35 32 60

Recall that if the condition (1st argument) is TRUE, then the second
argument is evaluated and returned.  

If the condition is FALSE, then the third argument is evaluated, which
in this case is another ifelse().  The same logic follows within that
function.

See ?ifelse

HTH,

Marc Schwartz

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to