[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:

y
[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

-- 
Marianne Promberger PhD, King's College London
http://promberger.info
R version 2.10.1 (2009-12-14)
Ubuntu 9.10



More information about the R-help mailing list