Description Usage Arguments Details Value Note Author(s) References See Also Examples
Calculate estimate of Xp the 100*p percentile of the normal/lognormal distribution, and the lower and upper 100*γ% exact confidence limits. The resulting interval (Xp.LCL,Xp.UCL) is an approximate 100*(2γ - 1) percent confidence interval for Xp the 100*p percentile. This function should only be used for complete samples.
1 | percentile.exact(x, p = 0.95, gam = 0.95,logx=TRUE,wpnt=FALSE)
|
x |
vector of positive data values |
p |
probability for Xp the 100pth percentile. Default is 0.95 |
gam |
one-sided confidence level γ. Default 0.95 |
logx |
If |
wpnt |
if |
A point estimate of Xp, the 100pth percentile of a normal/lognormal
distribution is calculated. Exact confidence limits for Xp are
calculated using the quantile function of the non-central t
distribution. The exact UCL is m + K*s, where m is the sample mean, s
is the sample standard deviation, and the K factor depends on n, p, and
γ. The exact LCL is m + K'*s. The local function
kf
calculates K and K' using the quantile
function of the non-central t distribution qt
.
The null hypothesis Ho: Xp ≥ Lp is rejected at the α = (1- γ ) significance level if the 100γ\% UCL for Xp is less than the specified limit Lp (indicating the exposure profile is acceptable).
A LIST with components:
Xp |
estimate of the pth percentile of the distribution |
Xpe.LCL |
100*γ% exact lower confidence limit for Xp |
Xpe.UCL |
100*γ% exact upper confidence limit for Xp |
p |
probability for Xp the 100pth percentile. Default 0.95 |
gam |
one-sided confidence level γ. Default is 0.95 |
Logx |
If |
n |
sample size |
Ku |
the K factor used to calculate the exact UCL |
Kl |
the K' factor used to calculate the exact LCL |
The UCL is also referred to as an upper tolerance limit,
i.e., if p
= 0.95 and γ = 0.99 then Xpe.UCL is the exact UTL 95% - 99%.
E. L. Frome
Burrows, G. L. (1963), "Statistical Tolerance Limits - What are They," Applied Statistics, 12, 133-144.
Johnson, N. L. and B. L. Welch (1940), "Application of the Non-Central t-Distribution," Biometrika, 31(3/4), 362-389.
Lyles R. H. and L. L. Kupper (1996), "On Strategies for Comparing Occupational Exposure Data to Limits," American Industrial Hygiene Association Journal, 57:6-15.
Tuggle, R. M. (1982), "Assessment of Occupational Exposure Using One-Sided Tolerance Limits," American Industrial Hygiene Association Journal, 43, 338-346.
Frome, E. L. and Wambach, P. F. (2005), "Statistical Methods and Software for the Analysis of Occupational Exposure Data with Non-Detectable Values," ORNL/TM-2005/52,Oak Ridge National Laboratory, Oak Ridge, TN 37830. Available at: http://www.csm.ornl.gov/esh/aoed/ORNLTM2005-52.pdf
Ignacio, J. S. and W. H. Bullock (2006), A Strategy for Assesing and Managing Occupational Exposures, Third Edition, AIHA Press, Fairfax, VA.
Mulhausen, J. R. and J. Damiano (1998), A Strategy for Assessing and Managing Occupational Exposures, Second Edition, AIHA Press, Fairfax, VA.
Help files for percentile.ml
,
efraction.exact
, aihand
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # EXAMPLE 1
# calculate 95th percentile and exact CLs for Example data
# Appendix Mulhausen and Damiano (1998)
data(aihand)
x <- aihand$x ; det <- rep(1,length(x))
aiha <- data.frame(x,det) # complete data
unlist(percentile.exact(x,gam=0.95,p=0.95) )[1:5] # exact CLs
unlist(percentile.ml(aiha,gam=0.95,p=0.95)) # ML CLs
# EXAMPLE 2
# Ignacio and Bullock (2006) Mulhausen and Damiano (1998)
# Calculate TABLE VII.3 (page 272) Factor for One-Sided Tolerance
# Limits for Normal Distribution (Abridged Version)
# Same as Table III Burrows(1963) Panel 3 Page 138
nn <- c(seq(3,25),seq(30,50,5))
pv <-c(0.75,0.9,0.95,0.99,0.999)
tab <- matrix(0,length(nn),length(pv))
for( k in (1:length(nn) ) ){
xx <- seq(1,nn[k])
for(j in (1:length(pv))) {
tab[k,j ]<- percentile.exact(xx,pv[j],gam=0.95,FALSE)$Ku
}}
dimnames(tab)<-(list(nn,pv)) ; rm(nn,pv,xx)
round(tab,3)
#
# EXAMPLE 3
# Calculate TABLE I One Sided Tolerance Factor K'
# Tuggle(1982) Page 339 (Abridged Version)
nn <- c(seq(3,20),50,50000000)
pv <-c(0.9,0.95,0.99)
tab <- matrix(0,length(nn),length(pv))
for( k in (1:length(nn) ) ){
xx <- seq(1,nn[k])
for(j in (1:length(pv))) {
tab[k,j ]<- percentile.exact(xx,pv[j],gam=0.95,FALSE)$Kl
}}
dimnames(tab)<-(list(nn,pv)) ; rm(nn,pv,xx)
round(tab,3)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.