如果在R中已知区域,如何找到积分的上限?

时间:2015-02-04 16:41:27

标签: r

用户, 我对数学和R不太熟悉,但我有一个概率问题,具有连续的概率密度。我应该找到50%可能电池失效的时间。我相信这可以表示为将概率密度的面积设置为0.5(50%),如果可以在R中说出这样的话,那将是非常酷的; f =概率密度函数 0.5 = exp(f,lower = 0,upper = x),R将计算x。

是否有一些简单的方法来计算给定下限的积分范围和R中的面积?

1 个答案:

答案 0 :(得分:1)

这是非常低效的,但是它允许你使用任意密度函数

findprob <- function(f, interval, target) {
    optimize(function(x) {
        abs(integrate(f, -Inf, x)$value-target)
    }, interval)$minimum
}

mydensity <- function(x) dnorm(x)
findprob(mydensity, interval=c(-1,1), target=.5)

在这里,我们使用optimize来找到与目标值的距离最小化的积分值。请注意,optimize需要一个时间间隔来搜索解决方案,因此您需要了解该点可能出现的位置。