[R] remove and put back elements in vector

(Ted Harding) Ted.Harding at nessie.mcc.ac.uk
Thu Jul 17 13:30:19 CEST 2003


On 17-Jul-03 Angel wrote:
> Got a vector, lets say:
>  a<-c(1,2,40,10,3,20,6);
># I remove values larger than 10
> a<-a[a<10]
># Do some operations on the new a "1 2 3 6"
> b<-a^2
># Now b is "[1]  1  4  9 36"
># Now I want to insert the elements I removed in a back into a and b
># so I get: 
># a       "1 2 40 10 3 20 6"
>#and b "1 4 40 10 9 20 36"

For the above example, step-by-step:
> a<-c(1,2,40,10,3,20,6);
> ix<-(a<10)
> b<-a[ix]
> b<-b^2
> a[ix]<-b
> a
[1]  1  4 40 10  9 20 36

However, in this particuarly simple case it could easily be done
in one go with

  a[a<10]<-(a[a<10])^2

> a<-c(1,2,40,10,3,20,6);
> a[a<10]<-(a[a<10])^2
> a
[1]  1  4 40 10  9 20 36

But if what you want to do to these numbers is much more complicated
then the previous (step-by-step) method may be best.

Ted.


--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 167 1972
Date: 17-Jul-03                                       Time: 12:30:19
------------------------------ XFMail ------------------------------




More information about the R-help mailing list