One solution for calculating the overlap coefficient for two density plots was given by @mmk here: How to calculate overlap between empirical probability densities?
Question: However, does anyone know how one would calculate confidence intervals in R for the overlap coefficient, or a measure of error?
I have tried the
overlap package - essentially for use with time series data - but I get very different results to @mmk's code when using this package's functions. If one plots the curves, then @mmk's code seems to give a far more accurate estimate of the area of overlap.
Therefore, I would like to carry on using @mmk's code, but I do not know how to take it forward to calculate confidence intervals. How can this be done?
Code: Here is the code from the above link written by @mmk:
# simulate two samples a <- rnorm(100) b <- rnorm(100, 2) # define limits of a common grid, adding a buffer so that tails aren't cut off lower <- min(c(a, b)) - 1 upper <- max(c(a, b)) + 1 # generate kernel densities da <- density(a, from=lower, to=upper) db <- density(b, from=lower, to=upper) d <- data.frame(x=da$x, a=da$y, b=db$y) # calculate intersection densities d$w <- pmin(d$a, d$b) # integrate areas under curves library(sfsmisc) total <- integrate.xy(d$x, d$a) + integrate.xy(d$x, d$b) intersection <- integrate.xy(d$x, d$w) # compute overlap coefficient overlap <- 2 * intersection / total