-3

我目前正在努力解决我想在 R 中绘制的复杂函数。基本上它是分布和其他相关概率的组合,所以我必须修改正态分布。

最终公式将如下所示:

不可缺少的

我怎样才能在R中绘制它?

4

2 回答 2

5

由于积分是正态分布的累积 PDF(除了缺少的归一化因子),您可以使用 来计算它pnorm

sf <- 1
mf <- 0
f <- function(x) 1/(2*sf^2*pi)*exp(-.5*((x-mf)/sf)^2) *
                 (1 - sf*sqrt(2*pi)*pnorm(x, mf, sf))
curve(f, from=-2, to=2)

sf*sqrt(2*pi)因素是为了补偿丢失的归一化。我不是 100% 确定我的数学是正确的,所以也请自己验证。

编辑:正如Ben Bolker指出的,第一部分f可以用 进行简化dnorm,使代码更具可读性。

f <- function(x) dnorm(x, mf, sf)/(sqrt(2*pi)*sf) *
                 (1 - sf*sqrt(2*pi)*pnorm(x, mf, sf))

曲线

于 2012-09-10T11:20:17.957 回答
3

你有方程,所以用它来计算你定义stats::integrate中的定积分项。f(x)然后,作为一个例子: plot(0:1000, f(0:1000),t='l').

于 2012-09-10T11:16:21.093 回答