ros: Regression on Order Statistics

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

ros is an implementation of a Regression on Order Statistics (ROS) designed for multiply censored analytical chemistry data.

The method assumes data contains zero to many left censored (less-than) values.

Usage

1
 ros(obs, censored, forwardT="log", reverseT="exp", na.action)

Arguments

obs

A numeric vector of observations. This includes both censored and uncensored observations.

censored

A logical vector indicating TRUE where an observation in obs is censored (a less-than value) and FALSE otherwise.

forwardT

A name of a function to use for transformation prior to performing the ROS fit. Defaults to log.

reverseT

A name of a function to use for reversing the transformation after performing the ROS fit. Defaults to exp.

na.action

A function which indicates what should happen when the data contain NAs. The default is set by the na.action setting of options, and is na.omit if that is unset. Another possible value is NULL, no action.

Details

By default, ros performs a log transformation prior to, and after operations over the data. This can be changed by specifying a forward and reverse transformation function using the forwardT and reverseT parameters. No transformation will be performed if either forwardT or reverseT are set to NULL.

The procedure first computes the Weibull-type plotting positions of the combined uncensored and censored observations using a formula designed for multiply-censored data (see hc.ppoints). A linear regression is formed using the plotting positions of the uncensored observations and their normal quantiles. This model is then used to estimate the concentration of the censored observations as a function of their normal quantiles. Finally, the observed uncensored values are combined with modeled censored values to corporately estimate summary statistics of the entire population. By combining the uncensored values with modeled censored values, this method is more resistant of any non-normality of errors, and reduces any transformation errors that may be incurred.

Value

ros returns an object of class c("ros", "lm").

print displays a simple summary of the ROS model. as.data.frame converts the modeled data in a ROS model to a data frame. Note that this discards all linear-model information from the object.

Author(s)

R. Lopaka Lee <rclee@usgs.gov>

Dennis Helsel <dhelsel@practicalstats.com>

References

Lee and Helsel (2005) Statistical analysis of environmental data containing multiple detection limits: S-language software for regression on order statistics, Computers in Geoscience vol. 31, pp. 1241-1248.

Lee and Helsel (2005) Baseline models of trace elements in major aquifers of the United States. Applied Geochemistry vol. 20, pp. 1560-1570.

Dennis R. Helsel (2005), Nondetects And Data Analysis: John Wiley and Sons, New York.

Dennis R. Helsel (1990), Less Than Obvious: Statistical Methods for, Environmental Science and Technology, vol.24, no. 12, pp. 1767-1774

Dennis R. Helsel and Timothy A. Cohn (1988), Estimation of descriptive statistics for multiply censored water quality data, Water Resources Research vol. 24, no. 12, pp.1997-2004

See Also

splitQual, predict, plot, ros-class, ros-methods, plot-methods, mean-methods, sd-methods, quantile-methods, median-methods, predict-methods, summary-methods

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
    obs      = c(0.5,    0.5,   1.0,  1.5,   5.0,    10,   100)
    censored = c(TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE)

    myros = ros(obs, censored) 

    plot(myros)
    summary(myros)
    mean(myros); sd(myros)
    quantile(myros); median(myros)
    as.data.frame(myros)

Example output

Loading required package: survival

Attaching package: 'NADA'

The following object is masked from 'package:stats':

    cor


Call:
lm(formula = obs.transformed ~ pp.nq, na.action = na.action)

Residuals:
       1        2        3        4        5 
 0.25670 -0.03995 -0.21285 -0.48832  0.48441 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)   0.4526     0.2313   1.957  0.14526   
pp.nq         2.9537     0.3189   9.261  0.00266 **
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.4419 on 3 degrees of freedom
Multiple R-squared:  0.9662,	Adjusted R-squared:  0.9549 
F-statistic: 85.77 on 1 and 3 DF,  p-value: 0.002664

[1] 16.68977
[1] 36.91544
        5%        10%        25%        50%        75%        90%        95% 
 0.1116829  0.1904671  0.3977563  1.0000000  7.5000000 46.0000000 73.0000000 
[1] 1
    obs censored        pp      modeled
1   0.5     TRUE 0.0952381   0.03289864
2   0.5    FALSE 0.3174603   0.50000000
3   1.0    FALSE 0.4444444   1.00000000
4   1.5     TRUE 0.2857143   0.29551269
5   5.0    FALSE 0.6785714   5.00000000
6  10.0    FALSE 0.7857143  10.00000000
7 100.0    FALSE 0.8928571 100.00000000

NADA documentation built on March 22, 2020, 5:07 p.m.

Related to ros in NADA...