Dear Maling list,

I have a data.frame with three columns. I want to produce a fourth
column which is result of "eliminating" the characters present in the
second and third colum from the first.

Example:
    a             b       c
1 ffff            f         f
2 hhhh         j         h
3 jjjj             g        g

I want the result:
ff
hhh
jjjj

I can get what I want using the code below. But it's slow for big files
(which I have) and most likely there's a better way to do this

1) is there a function that would do the same as FUN.remove2ndCol
2) is there a way to avoid the "apply" for every row?

Thanks,
Tiago

###################################

dfIn <- data.frame(a=c('ffff', 'hhhh', 'jjjj'), b=c('f', 'j', 'g'),
c=c('f', 'h', 'g'))

FUN.remove2ndCol <- function(vec){

 vec.sub <- sub(vec['b'], '', vec['a'])
 vec.sub <- sub(vec['c'], '', vec.sub)

 return(vec.sub)
}

dfIn$Output <- apply(dfIn, 1, FUN.remove2ndCol)

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to