[R] Case statements in R

Stefan Evert stefan.evert at uos.de
Mon Jul 28 20:07:04 CEST 2008


And you may want to consider using the 'cut' function. In your case,  
something like

	veg_mean <- cut(veg_mean, breaks=c(0,.1,1,2,5,10,25,50,75,95,100),  
right=FALSE)

should do the trick (see ?cut for more options).

Best,
Stefan

On 28 Jul 2008, at 19:52, Henrik Bengtsson wrote:

> Use '&' for vectors and '&&' for scalars.  Ditto applies to the OR
> operator(s).   /Henrik
>
> On Mon, Jul 28, 2008 at 10:36 AM, Wade Wall <wade.wall at gmail.com>  
> wrote:
>> Hi all,
>>
>> I am trying to convert geometric means in a matrix to cover  
>> classes.  My
>> values are as such:
>>
>> perc<-c(0,0.025136418, 0.316227766, 1.414213562,3.16227766,  
>> 7.071067812,
>> 15.8113883, 35.35533906, 61.23724357, 84.40971508, 97.46794345)
>> cover<-c(0,1,2,3,4,5,6,7,8,9,10)
>>
>> This is what I am trying to accomplish
>>
>> veg_mean[veg_mean>0 && veg_mean < .1] <- 1
>> veg_mean[veg_mean>= .1 && veg_mean < 1.0] <- 2
>> veg_mean[veg_mean>=1.0  && veg_mean < 2.0] <- 3
>> veg_mean[veg_mean>=2.0  && veg_mean < 5.0] <- 4
>> veg_mean[veg_mean>= 5.0  && veg_mean < 10.0] <- 5
>> veg_mean[veg_mean>= 10.0  && veg_mean < 25] <- 6
>> veg_mean[veg_mean>= 25.0 && veg_mean < 50.0] <- 7
>> veg_mean[veg_mean>=50.0 && veg_mean < 75.0] <- 8
>> veg_mean[veg_mean>= 75.0 && veg_mean < 95.0 ] <- 9
>> veg_mean[veg_mean>= 95.0 && veg_mean <= 100] <- 10
>> veg_mean[veg_mean> 100] <- NA



More information about the R-help mailing list