[R] gsub patterns from vector elements w/out loop?

Marianne Promberger marianne.promberger at kcl.ac.uk
Mon Feb 22 17:25:28 CET 2010

Dear list,

I have two vectors:

x <- c("one","two")
y <- paste(rep(x,2),"blah")

I want to replace all occurrences of each element of x in y with
something else, so that y looks like this:

[1] "something else blah" "something else blah" "something else blah"
[4] "something else blah"

I can do this using a loop:

for ( i in 1:length(x) ) {
  y <- gsub(x[i],"something else",y)

Surely, there must be a less kludgy way? 

I tried looking at the different apply()s but am not getting anywhere,
partly because I lack the mental flexibility to combine the fact that
I am applying gsub() to y but now want to apply that to x ...  erm. :/


Marianne Promberger PhD, King's College London
R version 2.10.1 (2009-12-14)
Ubuntu 9.10

More information about the R-help mailing list