This function uses the idea of a ‘critical bandwidth’ to assess the evidence that a regression curve is nonmonotonic. A hypothesis test is carried out by bootstrap methods and the empirical pvalue is reported. Response variables on a continuous scale or with binomial variation can be handled.
1  sm.monotonicity(x, y, N = rep(1, length(y)), h, type = "continuous", ...)

x 
a vector of covariate values. 
y 
a vector of responses observed at the covariate locations. 
N 
a vector of sample sizes at the covariate locations, when the responses have a binomial error structure. 
h 
a smoothing parameter to be used in the construction of the nonparametric
regression estimates. A normal kernel
function is used and 
type 
an indicator of whether the response variable is on a 
... 
other optional parameters are passed to the 
The first reference below describes the statistical methods used in the function. The test is an extension of one by Silverman (1986) for density estimation.
a list containing the following items
p 
the pvalue for the test of the null hypothesis that the true curve is monotonic. 
hcrit 
the ‘critical’ smoothing parameter. This is the smallest value which, when applied to the observed data, makes the curve monotonic. 
h 
the smoothing parameter used for doublesmoothing (see the reference below). 
a plot of the curves generated by the bootstrap procedure is produced,
unless the option display="none"
is set. Those curves which
are nonmonotonic, and therefore contribute to the empirical pvalue,
are drawn in red.
Bowman, A.W., Jones, M.C. and Gijbels, I. (1998). Testing monotonicity of regression. J.Comp.Graph.Stat. 7, 489500.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18  ## Not run:
# Radiocarbon dating data
with(radioc, {
ind < (Cal.age>5000 & Cal.age<6000)
cal.age < Cal.age[ind]
rc.age < Rc.age[ind]
sm.monotonicity(cal.age, rc.age, method = "aicc", nboot = 200)
})
# Hosmer & Lemeshow birth data
with(birth, {
sm.monotonicity(Lwt[Smoke == "N"], Low[Smoke == "N"],
type = "binomial")
})
## End(Not run)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.