BMT.Phi {BMT}R Documentation

The BMT-Phi Distribution.


Density, distribution function, quantile function, random number generation for the BMT-Phi distribution with mean equal to mean and standard deviation equal to sd.


dBMT.Phi(x, mean = 0, sd = 1, log = FALSE)

pBMT.Phi(q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)

qBMT.Phi(p, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)

rBMT.Phi(n, mean = 0, sd = 1)


x, q

vector of quantiles.


vector of means.


vector of standard deviations.

log, log.p

logical; if TRUE, probabilities p are given as log(p).


logical; if TRUE (default), probabilities are P[X ≤ x], otherwise, P[X > x].


vector of probabilities.


number of observations. If length(n) > 1, the lenght is taken to be the number required


If mean or sd are not specified they assume the default values of 0 and 1, respectively.

The BMT-Phi distribution is the BMT distribution with κ_l = κ_r = 0.58029164978583758. The BMT-Phi cumulative distribution function (cdf) is the closest BMT cdf to the normal cdf with the same mean and standard deviation.


dBMT.Phi gives the density, pBMT.Phi the distribution function, qBMT.Phi the quantile function, and rBMT.Phi generates random deviates.

The length of the result is determined by n for rBMT.Phi, and is the maximum of the lengths of the numerical arguments for the other functions.

The numerical arguments other than n are recycled to the length of the result. Only the first elements of the logical arguments are used.

sd <= 0 is an error and returns NaN.


Camilo Jose Torres-Jimenez [aut,cre]


Torres-Jimenez, C. J. (2018), The BMT Item Response Theory model: A new skewed distribution family with bounded domain and an IRT model based on it, PhD thesis, Doctorado en ciencias - Estadistica, Universidad Nacional de Colombia, Sede Bogota.

See Also

Distributions for other standard distributions. pBMT for the BMT distribution and pBMT.Psi for the BMT-Psi distribution.



curve(pnorm(x), -4, 4, col = "red", lty = 2, ylab = "cdf")
curve(pBMT.Phi(x), add = TRUE, col = "blue", lty = 3)
legend("topleft", legend = c("norm(0,1)","BMT-Phi(0,1)"), 
       bty = "n", col = c("red","blue"), lty = 2:3)

curve(pnorm(x)-pBMT.Phi(x), -4, 4)

curve(qnorm(x), col = "red", lty = 2, xlab = "p", ylab = "qf")
curve(qBMT.Phi(x), add = TRUE, col = "blue", lty = 3)

hist(rBMT.Phi(10000), freq = FALSE, breaks = seq(-4,4,0.25), border = "blue")
curve(dnorm(x), add = TRUE, col = "red", lty = 2)
curve(dBMT.Phi(x), add = TRUE, col = "blue", lty = 3)

[Package BMT version Index]