VGAM (version 1.1-1)

Truncpareto: The Truncated Pareto Distribution

Description

Density, distribution function, quantile function and random generation for the upper truncated Pareto(I) distribution with parameters lower, upper and shape.

Usage

dtruncpareto(x, lower, upper, shape, log = FALSE)
ptruncpareto(q, lower, upper, shape, lower.tail = TRUE, log.p = FALSE)
qtruncpareto(p, lower, upper, shape)
rtruncpareto(n, lower, upper, shape)

Arguments

x, q

vector of quantiles.

p

vector of probabilities.

n, log

Same meaning as runif.

lower, upper, shape

the lower, upper and shape (\(k\)) parameters. If necessary, values are recycled.

lower.tail, log.p

Same meaning as in pnorm or qnorm.

Value

dtruncpareto gives the density, ptruncpareto gives the distribution function, qtruncpareto gives the quantile function, and rtruncpareto generates random deviates.

Details

See truncpareto, the VGAM family function for estimating the parameter \(k\) by maximum likelihood estimation, for the formula of the probability density function and the range restrictions imposed on the parameters.

References

Aban, I. B., Meerschaert, M. M. and Panorska, A. K. (2006) Parameter estimation for the truncated Pareto distribution, Journal of the American Statistical Association, 101(473), 270--277.

See Also

truncpareto.

Examples

Run this code
# NOT RUN {
 lower <- 3; upper <- 8; kay <- exp(0.5)
# }
# NOT RUN {
 xx <- seq(lower - 0.5, upper + 0.5, len = 401)
plot(xx, dtruncpareto(xx, low = lower, upp = upper, shape = kay),
     main = "Truncated Pareto density split into 10 equal areas",
     type = "l", ylim = 0:1, xlab = "x")
abline(h = 0, col = "blue", lty = 2)
qq <- qtruncpareto(seq(0.1, 0.9, by = 0.1), low = lower, upp = upper,
                   shape = kay)
lines(qq, dtruncpareto(qq, low = lower, upp = upper, shape = kay),
      col = "purple", lty = 3, type = "h")
lines(xx, ptruncpareto(xx, low = lower, upp = upper, shape = kay),
      col = "orange") 
# }
# NOT RUN {
pp <- seq(0.1, 0.9, by = 0.1)
qq <- qtruncpareto(pp, lower = lower, upper = upper, shape = kay)

ptruncpareto(qq, lower = lower, upper = upper, shape = kay)
qtruncpareto(ptruncpareto(qq, lower = lower, upper = upper, shape = kay),
         lower = lower, upper = upper, shape = kay) - qq  # Should be all 0
# }

Run the code above in your browser using DataLab