Re: [R] element wise conditional assignment in r

2010-10-02 Thread yunjiangster
Phil, That's very elegant, and certainly solves my problem. But in order to assign the value to v, I would do v=ifelse(r==1,v-1,v). Is it possible to do the assignment inside the conditional? That way I can save some running time of assigning v to itself. Thanks for your solution! Sincerely,

Re: [R] element wise conditional assignment in r

2010-10-01 Thread Henrique Dallazuanna
You've tried: v - r On Fri, Oct 1, 2010 at 6:53 PM, yunjiangster wrote: > > Hi, > I am looking for a one-liner code for the following situation > say I have a vector r of 0 and 1's, and another vector v of equal length. I > want to assign v[i]-1 to v[i] if r[i]=1, for all i. How would I do tha

Re: [R] element wise conditional assignment in r

2010-10-01 Thread Phil Spector
John - Is this what you're looking for? r = sample(c(0,1),10,replace=TRUE) r [1] 0 1 0 1 1 0 0 1 0 1 v = 1:10 ifelse(r == 1,v-1,v) [1] 1 1 3 3 4 6 7 7 9 9 - Phil Spector Statistical Computing Facility

[R] element wise conditional assignment in r

2010-10-01 Thread yunjiangster
Hi, I am looking for a one-liner code for the following situation say I have a vector r of 0 and 1's, and another vector v of equal length. I want to assign v[i]-1 to v[i] if r[i]=1, for all i. How would I do that using mapply or any other batch processing keywords? thanks. John -- View this