[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