从两个密度图计算尤登指数

时间:2019-06-15 17:32:40

标签: r threshold density-plot

我需要帮助计算R中两个密度图的尤登指数。基本上,我需要计算两个密度图重叠的值(图像中的红点)。 变量是数字。

enter image description here

有什么方法可以计算这个值(Youden索引)???

1 个答案:

答案 0 :(得分:1)

我们可以扩展this solution以获得交点 的坐标(也就是y

相应地,首先要对这两个分布进行合并和索引,并计算最小值和最大值以使其具有可比性。

第二,使用density计算每个分布的内核密度估计。

which(diff((d2$y - d1$y) > 0) != 0) + 1x的{​​{1}}可以得到的坐标,如下所示。

y

情节

set.seed(42)
n <- 1e3
dat <- data.frame(v=c(rnorm(n, 1, 3), rnorm(n, 5, 3)),
                  grp=rep(1:2, each=n))

lo <- min(dat$v)
up <- max(dat$v)

d1 <- density(dat$v[dat$grp == 1], from=lo, to=up, n=2^10)
d2 <- density(dat$v[dat$grp == 2], from=lo, to=up, n=2^10)

intersection.point <- cbind(x=d1$x[which(diff((d2$y - d1$y) > 0) != 0) + 1], 
                            y=d1$y[which(diff((d2$y - d1$y) > 0) != 0) + 1])

enter image description here