coalesce: A more versatile form of the T-SQL 'coalesce()' function.

View source: R/row.r

coalesceR Documentation

A more versatile form of the T-SQL coalesce() function.

Description

Little more than a wrapper for vectorize, allows for duplication of SQL coalesce functionality, certain types of if-else statements, and apply/Reduce combinations.

Usage

coalesce(..., fun = (function(x, y) if (!is.na(x)) x else y))

Arguments

...

an arbitrary number of R objects

fun

a two argument function that returns an atomic value

Details

Originally written for the row.r package by Craig Varrichio. Included here because the rowr package was discontinued. I use these functions in my packages

Examples

coalesce(c(NA,1,2))
coalesce(c(NA,1,2),c(3,4,NA))
df<-data.frame(a=c(NA,2,3),b=c(1,2,NA))
coalesce(df$a,df$b)
# Or even just:
coalesce(df)
# Coalesce can actually use any comparison.  For example, instead of non-NA
# values it could find the max in each row:
cbind(EuStockMarkets,Max=coalesce(EuStockMarkets,fun=function (x,y) if (x>y) x else y))

ccpluncw/ccpl_R_chutils documentation built on Feb. 28, 2024, 1:17 a.m.