Hi guys, My code (next 2 lines below) isn't doing what I'm expecting it to: tmp <- ifelse(uncurated$days_to_tumor_recurrence=="null","norecurrence","recurrence") curated$recurrence_status <- tmp I want the column "recurrence_status" in my output file to have values "recurrence" (if the input value had a number in the days_to_tumor_recurrence column for the particular patient) or "norecurrence" (if the input value said "null" in the days_to_tumor_recurrence column for the particular patient). Part of my above code gives me what I want. My current output file does indeed get "recurrence" everywhere it should say this. But for the input values of "null" I am getting output values of NA instead of "norecurrence." I tried the following strategies to solve this and was unsuccessful. First, I added a line in the middle of the two above lines of code, with the following: tmp[tmp==NA] <- "norecurrence" This did not work. Second, I changed the first line of my code to: tmp <- ifelse(uncurated$days_to_tumor_recurrence==NA,"norecurrence","recurrence") This was worse, as was trying: tmp <- ifelse(uncurated$days_to_tumor_recurrence=="NA","norecurrence","recurrence") I would greatly appreciate any advice you may have. Also, why is this happening? Thanks a bunch, Ben [[alternative HTML version deleted]]
Do you actually mean the character string "null" or do you mean the NULL it doesn't exist thing? If that's the case, you need to write is.null(), something like is.NA()... Michael Weylandt On Fri, Sep 16, 2011 at 10:36 AM, Ben Ganzfried <ben.ganzfried@gmail.com>wrote:> Hi guys, > > My code (next 2 lines below) isn't doing what I'm expecting it to: > > tmp <- > > ifelse(uncurated$days_to_tumor_recurrence=="null","norecurrence","recurrence") > curated$recurrence_status <- tmp > > I want the column "recurrence_status" in my output file to have values > "recurrence" (if the input value had a number in the > days_to_tumor_recurrence column for the particular patient) or > "norecurrence" (if the input value said "null" in the > days_to_tumor_recurrence column for the particular patient). > > Part of my above code gives me what I want. My current output file does > indeed get "recurrence" everywhere it should say this. But for the input > values of "null" I am getting output values of NA instead of > "norecurrence." I tried the following strategies to solve this and was > unsuccessful. > > First, I added a line in the middle of the two above lines of code, with > the > following: > tmp[tmp==NA] <- "norecurrence" > > This did not work. > > Second, I changed the first line of my code to: > tmp <- > ifelse(uncurated$days_to_tumor_recurrence==NA,"norecurrence","recurrence") > > This was worse, as was trying: > > tmp <- > > ifelse(uncurated$days_to_tumor_recurrence=="NA","norecurrence","recurrence") > > I would greatly appreciate any advice you may have. Also, why is this > happening? > > Thanks a bunch, > > Ben > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. >[[alternative HTML version deleted]]
On Sep 16, 2011, at 10:36 AM, Ben Ganzfried wrote:> Hi guys, > > My code (next 2 lines below) isn't doing what I'm expecting it to: > > tmp <- > ifelse(uncurated > $days_to_tumor_recurrence=="null","norecurrence","recurrence") > curated$recurrence_status <- tmp > > I want the column "recurrence_status" in my output file to have values > "recurrence" (if the input value had a number in the > days_to_tumor_recurrence column for the particular patient) or > "norecurrence" (if the input value said "null" in the > days_to_tumor_recurrence column for the particular patient). > > Part of my above code gives me what I want. My current output file > does > indeed get "recurrence" everywhere it should say this. But for the > input > values of "null" I am getting output values of NA instead of > "norecurrence." I tried the following strategies to solve this and > was > unsuccessful. > > First, I added a line in the middle of the two above lines of code, > with the > following: > tmp[tmp==NA] <- "norecurrence" > > This did not work. > > Second, I changed the first line of my code to: > tmp <- > ifelse(uncurated > $days_to_tumor_recurrence==NA,"norecurrence","recurrence")I do not know why your original did not succeed but this code should have been written: tmp <- ifelse(is,na(uncurated $days_to_tumor_recurrence),"norecurrence","recurrence") Nothing ever "equals" NA. NA is not less than anything. It is not TRUE- ly greater than anything. However, in one sense it is both less than anything as well as greater than everything including the infinities, - Inf and Inf: > min(c(NA, 1)) [1] NA > max(c(NA, 1)) [1] NA > min(c(NA, 1, -Inf)) [1] NA > min(c(NA, 1, Inf)) [1] NA Gertrude Stein is once alleged to have commented about Oakland California, "There's no there there." There is quite a bit there now, but NA still has "no there there".> > This was worse, as was trying: > > tmp <- > ifelse(uncurated > $days_to_tumor_recurrence=="NA","norecurrence","recurrence") > > I would greatly appreciate any advice you may have. Also, why is this > happening? > > Thanks a bunch, > > Ben > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at 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.David Winsemius, MD West Hartford, CT
On Sep 16, 2011, at 11:08 AM, David Winsemius wrote:> > On Sep 16, 2011, at 10:36 AM, Ben Ganzfried wrote: > >> Hi guys, >>snipped>> >> Second, I changed the first line of my code to: >> tmp <- >> ifelse(uncurated >> $days_to_tumor_recurrence==NA,"norecurrence","recurrence") > > I do not know why your original did not succeed but this code should > have been written: > > tmp <- > ifelse(is,na(uncurated > $days_to_tumor_recurrence),"norecurrence","recurrence")^.^ Except that should have been a period. -- David Winsemius, MD West Hartford, CT
Possibly Parallel Threads
- Matrix Question
- Error in read.table(file = file, header = header, sep = sep, quote = quote, : more columns than column names
- Creating a file with reusable functions accessible throughout a computational biology cancer project
- Regular Expression
- Recurrence plot in package "tseriesChaos"