Inline. Bert Gunter Genentech Nonclinical Biostatistics (650) 467-7374
"Data is not information. Information is not knowledge. And knowledge is certainly not wisdom." Clifford Stoll On Sun, Sep 28, 2014 at 6:38 AM, Kate Ignatius <kate.ignat...@gmail.com> wrote: > Strange that, > > I did put everything with as.character but all I got was the same... > > class of dbpmn[,2]) = factor > class of dbpmn[,21] = factor > class of dbpmn[,20] = data.frame > > This has to be a problem ??? Indeed -- your failure to read documentation. I suggest you do your due diligence, read Pat Burns's link, and follow the advice given you by posting a reproducible example. More than likely the last will be unnecessary as you will figure it out in the course of doing what you should do. Cheers, Bert > > I can put reproducible output here but not sure if this going to of > help here. I think its all about factors and data frames and > characters... > > K. > > On Sun, Sep 28, 2014 at 1:15 AM, Jim Lemon <j...@bitwrit.com.au> wrote: >> On Sun, 28 Sep 2014 12:49:41 AM Kate Ignatius wrote: >>> Quick question: >>> >>> I am running the following code on some variables that are factors: >>> >>> dbpmn$IID1new <- ifelse(as.character(dbpmn[,2]) == >>> as.character(dbpmn[,(21)]), dbpmn[,20], '') >>> >>> Instead of returning some value it gives me this: >>> >>> c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)) >>> >>> Playing around with the code, gives me some kind of variation to it. >>> Is there some way to get me what I want. The variable that its >>> suppose to give back is a bunch of sampleIDs. >>> >> Hi Kate, >> If I create a little example: >> >> dbpmn<-data.frame(V1=factor(sample(LETTERS[1:4],20,TRUE)), >> V2=factor(sample(LETTERS[1:4],20,TRUE)), >> V3=factor(sample(LETTERS[1:4],20,TRUE))) >> dbpmn[4]<- >> ifelse(as.character(dbpmn[,1]) == as.character(dbpmn[,(2)]), >> dbpmn[,3],"") >> dbpmn >> V1 V2 V3 V4 >> 1 B D C >> 2 C A D >> 3 C B A >> 4 A B C >> 5 B D B >> 6 D D A 1 >> 7 D D D 4 >> 8 B C A >> 9 B D B >> 10 D C A >> 11 A D C >> 12 A C B >> 13 A A A 1 >> 14 D C A >> 15 C D B >> 16 A A B 2 >> 17 A C C >> 18 B B C 3 >> 19 C C C 3 >> 20 D D D 4 >> >> I get what I expect, the numeric value of the third element in dbpmn >> where the first two elements are equal. I think what you want is: >> >> dbpmn[4]<- >> ifelse(as.character(dbpmn[,1]) == as.character(dbpmn[,(2)]), >> as.character(dbpmn[,3]),"") >> dbpmn >> V1 V2 V3 V4 >> 1 B D C >> 2 C A D >> 3 C B A >> 4 A B C >> 5 B D B >> 6 D D A A >> 7 D D D D >> 8 B C A >> 9 B D B >> 10 D C A >> 11 A D C >> 12 A C B >> 13 A A A A >> 14 D C A >> 15 C D B >> 16 A A B B >> 17 A C C >> 18 B B C C >> 19 C C C C >> 20 D D D D >> >> Jim >> > > ______________________________________________ > 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. ______________________________________________ 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.