[R] Coalesce function in BBmisc, emoa, and microbenchmark packages
Paul Miller
pjmiller_57 at yahoo.com
Tue Mar 20 13:51:58 CET 2012
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))
More information about the R-help
mailing list