[R] How to insert one element into a vector?

Barry Rowlingson B.Rowlingson at lancaster.ac.uk
Mon Nov 22 16:19:40 CET 2004


michael watson (IAH-C) wrote:
> There must be a million ways of doing this!

  Actually I'd say there were no ways of doing this, since I dont think 
you can actually insert into a vector - you have to create a new vector 
that produces the illusion of insertion!

  Here's a Q+D function that fails if you try and insert at the start, 
or at the end. Its very D.

insert <- function(v,e,pos){
   return(c(v[1:(pos-1)],e,v[(pos):length(v)]))
}

  > v=c(1,2,3,4,6)

  > insert(v,5,5)
  [1] 1 2 3 4 5 6

Yay.

  > insert(v,5,1)
  [1] 1 5 1 2 3 4 6

Oops.

  Cant be bothered to fix it, the principle is there.

Baz




More information about the R-help mailing list