用户, 我对数学和R不太熟悉,但我有一个概率问题,具有连续的概率密度。我应该找到50%可能电池失效的时间。我相信这可以表示为将概率密度的面积设置为0.5(50%),如果可以在R中说出这样的话,那将是非常酷的; f =概率密度函数 0.5 = exp(f,lower = 0,upper = x),R将计算x。
是否有一些简单的方法来计算给定下限的积分范围和R中的面积?
答案 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
需要一个时间间隔来搜索解决方案,因此您需要了解该点可能出现的位置。