[R] gsub patterns from vector elements w/out loop?
Christian Raschke
crasch2 at tigers.lsu.edu
Mon Feb 22 19:20:00 CET 2010
Marianne,
The function substring2 from the Hmisc packages works nicely for me to
do this (without explicit gsub, though):
x<- c("one","two")
y<- paste(rep(x,2),"blah")
y
[1] "one blah" "two blah" "one blah" "two blah"
substring2(y,x)<- "something else"
y
[1] "something else blah" "something else blah" "something else blah" "something else blah"
Christian
On 02/22/2010 10:25 AM, Marianne Promberger wrote:
> 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
>
>
--
Christian Raschke
Department of Economics
and
ISDS Research Lab (HSRG)
Louisiana State University
Patrick Taylor Hall, Rm 2128
Baton Rouge, LA 70803
(225)226-0017
crasch2 at lsu.edu
More information about the R-help
mailing list