gpt4 book ai didi

r - 从两个密度图计算约登指数

转载 作者:行者123 更新时间:2023-12-02 07:37:40 28 4
gpt4 key购买 nike

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

有什么方法可以计算这个值(约登指数)???

最佳答案

我们可以扩展this solution获取交点的坐标(即y)。

因此,首先要对两个分布进行组合和索引,并计算最小值和最大值以使它们具有可比性。

其次,使用密度来计算每个分布的核密度估计值。

对于 x,我们可以使用 which(diff((d2$y - d1$y) > 0) != 0) + 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])

情节

plot(d1, ylim=c(0, .14), main="Intersection point")
lines(d2)
points(intersection.point, col="red", pch=19)
legend("topright", pch=19, col="red", legend="intersection point")

enter image description here

关于r - 从两个密度图计算约登指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56612670/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com