由于积分是正态分布的累积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)
Run Code Online (Sandbox Code Playgroud)
该sf*sqrt(2*pi)因素是补偿缺少规范化.我不是百分百肯定我的数学是正确的,所以请自己验证一下.
编辑:正如Ben Bolker指出的那样,第一部分f可以简化dnorm,使代码更具可读性.
f <- function(x) dnorm(x, mf, sf)/(sqrt(2*pi)*sf) *
(1 - sf*sqrt(2*pi)*pnorm(x, mf, sf))
Run Code Online (Sandbox Code Playgroud)
