[R] sub using info from pattern in 2nd col into part of pattern in 1st column?

Chuck Carey ccarey at fhcrc.org
Fri Aug 28 22:43:55 CEST 2009

I have two data.frame columns and I want to replace part of the first 
column with the second column :

ncol = 2))

if the 2nd column consists entirely of digits (1 or 2 digits)

I want to replace the last digit(s) in the first column with the digits 
in the second column

so ...

54E5    7
56D7    E3
56F12  14
56F3    10
57C5    NA
59A1    3

generates a new column where some values are replaced :


I can pick out the digits in the 2nd column just fine.

But instead of 'xxx' below:

sub("^([0-9]{1,2})$","xxx\\1",temp$X2, perl = TRUE)

? How can I sub with what I want from the first column ?

Thanks for your help!


(Actually, I also want to do a similar thing where E3 in the second row 
replaces D7 so 56D7 becomes 56E3, pattern of first column is always 
[0-9]{1,2}[A-F][0-9]{1,2} , but I'd be happy to just deal with the 
original stated problem for now as it handles most of my cases)

More information about the R-help mailing list