Hi Brian,

This works very well. Still trying to develop some skill with R. So can't say I 
understand your function completely as yet, but will work on it. I had thought 
that your function might only work for two columns (because of the 
"function(x,y)" part), but the example below suggests it will work for any 
number of columns. 

Appreciate your showing this to me. 

Thanks,

Paul  


Demog <- data.frame(PFS = as.Date(c("2006-07-22", NA, "2007-12-16", 
"2008-01-19", "2009-05-05", "2006-04-29", "2006-06-18", NA)),
                          DOD = as.Date(c("2006-07-23", "2008-07-09", 
"2007-12-16", "2008-01-19", "2009-05-05", "2006-04-29", "2006-06-18", NA)),
                    LKDA = as.Date(c(NA, NA, NA, NA, NA, NA, NA, "2008-03-25")))

coalesce <- function(...) {
     dots <- list(...)
     ret <- Reduce(function (x,y) ifelse(!is.na(x),x,y), dots)
     class(ret) <- class(dots[[1]])
     ret
}

Demog$Test <- with(Demog, coalesce(PFS, DOD, LKDA))

______________________________________________
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.

Reply via email to