dtnorm: Density truncated normal

View source: R/dtnorm.R

dtnormR Documentation

Density truncated normal

Description

Computes the density.

Usage

dtnorm(x, mean = 0, sd = 1, lower = -Inf, upper = Inf, log = FALSE)

Details

For internal use

Note

Taken from msm R-package.

Author(s)

C. H. Jackson

References

Taken from

Examples


## The function is currently defined as
function(x, mean = 0, sd = 1, lower = -Inf, upper = Inf, log = FALSE) {
  ret <- numeric(length(x))
  ret[x < lower | x > upper] <- if (log) {
    -Inf
  } else {
    0
  }
  ret[upper < lower] <- NaN
  ind <- x >= lower & x <= upper
  if (any(ind)) {
    denom <- pnorm(upper, mean, sd) - pnorm(
      lower, mean,
      sd
    )
    xtmp <- dnorm(x, mean, sd, log)
    if (log) {
      xtmp <- xtmp - log(denom)
    } else {
      xtmp <- xtmp / denom
    }
    ret[x >= lower & x <= upper] <- xtmp[ind]
  }
  ret
}

konkam/BNPdensity documentation built on March 14, 2024, 7:15 a.m.