[R] match and new columns

Rui Barradas ruipbarradas at sapo.pt
Wed Dec 13 23:36:24 CET 2017


Hello,

Here is one way.

tdat$D <- ifelse(tdat$B %in% tdat$A, tdat$A[tdat$B], 0)
tdat$E <- ifelse(tdat$B %in% tdat$A, tdat$A[tdat$C], 0)


Hope this helps,

Rui Barradas

On 12/13/2017 9:36 PM, Val wrote:
> Hi all,
> 
> I have a data frame
> tdat <- read.table(textConnection("A B C Y
> A12 B03 C04 0.70
> A23 B05 C06 0.05
> A14 B06 C07 1.20
> A25 A23 A12 3.51
> A16 A25 A14 2,16"),header = TRUE)
> 
> I want match tdat$B with tdat$A and populate the  column   values of tdat$A
> ( col A and Col B) in the newly created columns (col D and col  E).  please
> find my attempt and the desired output below
> 
> Desired output
> A B C Y  D E
> A12 B03 C04 0.70  0  0
> A23 B05 C06 0.05  0  0
> A14 B06 C07 1.20  0  0
> A25 A23 A12 3.51 B05 C06
> A16 A25 A14 2,16 A23 A12
> 
> my attempt,
> 
> tdat$D <- 0
> tdat$E <- 0
> 
> if(tdat$B %in% tdat$A)
>    {
>    tdat$D <- tdat$A[tdat$B]
>    tdat$E <- tdat$A[tdat$C]
> }
>   but did not work.
> 
> Thank you in advance
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>



More information about the R-help mailing list