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(
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
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
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
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
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
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
7 matches
Mail list logo