[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