2

我有 2 个分布 - 1 个 beta 和 1 个正态分布,我需要找到它们的 pdf 的交集。我知道两者的参数并且能够直观地看到交叉点,但我正在寻找一种方法让 R 计算确切的点。有人知道如何做到这一点吗?

4

1 回答 1

5

使用uniroot().

uniroot(function(x) dbeta(x, 1, 2)-dnorm(x, 0, 1), c(0, 1))
## $root
## [1] 0.862456
## 
## $f.root
## [1] 5.220165e-05
## 
## $iter
## [1] 3
## 
## $estim.prec
## [1] 6.103516e-05

这解决了一个方程dbeta(x, ...) == dnorm(x, ...)wrt x(在 inverval [0,1] 中,因为这是 beta 分布的支持),即找到 的根dbeta(x, ...) - dnorm(x, ...)。结果列表的root字段为您提供答案(或多或少精确)。

于 2014-04-30T18:52:05.367 回答