>>>>> "Jason" == Jason Turner <[EMAIL PROTECTED]> >>>>> on Wed, 26 Mar 2003 22:49:27 +1200 writes:
Jason> On Wed, Mar 26, 2003 at 11:20:04PM +1200, Ko-Kang Jason> Kevin Wang wrote: >> Hi, >> >> I'm not sure if this can be done but.. >> >> I know that with ifelse() I can do something like: >> ifelse(x <= 3, 1, 2) to go through each element in my >> vector x, and if x_i <= 3 substitute the number with 1 >> else with 2. Essentially I'll get a vector with 2 >> levels. >> >> Can I tweak it so I can get 3-levels? For example: if(x >> <= 3) then 1 elseif(3 < x <= 4) then 2 elseif(x > 4) then >> 3 Jason> You can, like this (1 if zz < 5, 2 if 5 <= zz < 10, 3 Jason> if zz >= 10) >> zz <- 1:20 ifelse(zz < 5, 1, ifelse(zz < 10, 2,3)) Jason> [1] 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 Yes, but for cases like this (interval cutting), the function cut() will be much more efficient (and its call easier to read). Martin ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help