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,
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
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
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
4 matches
Mail list logo