Nonparametric forward point estimation of a monotone response (y), using the standard isotonic-regression pool-adjacent-violators algorithm (PAVA). Core code from Raubertas (1994) with many modifications.
oldPAVA(
y,
x = NULL,
wt = rep(1, length(x)),
outx = NULL,
full = FALSE,
dec = FALSE,
adaptiveShrink = FALSE,
...
)
under default, returns a vector of y estimates at unique x values. With full=TRUE
, returns a list of 3 doseResponse
objects named output,input,shrinkage
for the output data at dose levels, the input data, and the function as fit at algorithm-generated points, respectively. For this function, the first and third objects are identical.
can be either of the following: y values (response rates), a 2-column matrix with positive/negative response counts by dose, a DRtrace
object or a doseResponse
object.
dose levels (if not included in y). Note that the PAV algorithm doesn't really use them.
weights (if not included in y).
vector of x values for which predictions will be made. If NULL
(default), this will be set to the set of unique values in the x argument (or equivalently in y$x). Non-NULL inputs are relevant only if full=TRUE
.
logical, is a more complete output desired? if FALSE
(default), only a vector of point estimates for y at the provided dose levels is returned
logical, is the true function is assumed to be monotone decreasing? Default FALSE
.
logical, should the y-values be pre-shrunk towards an experimental target? May be relevant if data were obtain via an adaptive dose-finding design. See DRshrink
.
Other arguments passed on to the constructor functions that pre-process the input.
C.R. Raubertas, Assaf P. Oron <assaf.oron.at.gmail.com>
Compute the isotonic regression (IR) point estimate of a numeric input vector y
, with weights wt
, with respect to simple order. The core algorithm is still the one coded by R.F. Raubertas, dated 02 Sep 1994. However, the input and output modules have been
modified to allow more flexible formats in either direction. The output is also compatible with the convenience wrapper quickIsotone
; however you will have to set estfun = oldPAVA
to get it to run IR rather than centered isotonic regression (CIR) which is the default for all wrapper functions in this package.
Note that unlike CIR (see cirPAVA
), this algorithm does not use the dose (x) values at all. For a discussion why CIR is preferred over the "plain-vanilla" PAVA of this function, see Oron and Flournoy (2017).
Oron, A.P. and Flournoy, N., 2017. Centered Isotonic Regression: Point and Interval Estimation for Dose-Response Studies. Statistics in Biopharmaceutical Research, In Press (author's public version available on arxiv.org).
cirPAVA