|
R can handle the examples in the article with generic functions: oddsratio <- function(x, ...) UseMethod("oddsratio", x)
oddsratio.integer <- function(a, b, c, d) (a * d) / (b * c)
oddsratio.numeric <- function(p1, p0) ((p1)/(1 - p1)) / ((p0)/(1 - p0))
oddsratio.matrix <- function(x) (x[1, 1] * x[2, 2]) / (x[1, 2] * x[2, 1])
Then: oddsratio(12L, 6L, 2L, 29L) # 29
oddsratio(12/(12+2), 6/(6+29)) # 29
oddsratio(matrix(c(12,6,2,29), 2)) # 29
|
A more compelling example for Julia would have to have two modes of operation where the first argument has the same type in both modes, but later arguments have different types.