Re: [R] match and new columns

2017-12-15 Thread Ek Esawi
Hi Val— Here is something similar to what Bill suggested. wainb <- which(tdat$A %in% tdat$B) tdat[c(length(tdat$D)-1,length(tdat$D)),c("D","E")] <- tdat[wainb,c("B","C")] HTH EK On Wed, Dec 13, 2017 at 4:36 PM, Val wrote: > Hi all, > > I have a data frame > tdat <- read.table(textConnection(

Re: [R] match and new columns

2017-12-13 Thread William Dunlap via R-help
Try the following (which won't work with factors): > i <- match(tdat$B, tdat$A) > newColumns <- tdat[i, c("B", "C")] > newColumns[is.na(newColumns)] <- "0" > transform(tdat, D=newColumns[["B"]], E=newColumns[["C"]]) A B CY D E 1 A12 B03 C04 0.70 0 0 2 A23 B05 C06 0.05 0 0 3

Re: [R] match and new columns

2017-12-13 Thread Val
Hi Bill, I put stringsAsFactors = FALSE still did not work. 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 ,stringsAsFactors = FALSE) tdat$D <- 0 tdat$E <- 0 tdat$D <- (ifelse(tdat$B %in% tdat$A, td

Re: [R] match and new columns

2017-12-13 Thread William Dunlap via R-help
Use the stringsAsFactors=FALSE argument to read.table when making your data.frame - factors are getting in your way here. Bill Dunlap TIBCO Software wdunlap tibco.com On Wed, Dec 13, 2017 at 3:02 PM, Val wrote: > Thank you Rui, > I did not get the desired result. Here is the output from your sc

Re: [R] match and new columns

2017-12-13 Thread Val
Thank you Rui, I did not get the desired result. Here is the output from your script A B CY D E 1 A12 B03 C04 0.70 0 0 2 A23 B05 C06 0.05 0 0 3 A14 B06 C07 1.20 0 0 4 A25 A23 A12 3.51 1 1 5 A16 A25 A14 2,16 4 4 On Wed, Dec 13, 2017 at 4:36 PM, Rui Barradas wrote: > Hello, > > Here i

Re: [R] match and new columns

2017-12-13 Thread Rui Barradas
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 A2

[R] match and new columns

2017-12-13 Thread Val
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