sm.monotonicity {sm}R Documentation

A test of monotonicity in a regression curve.


This function uses the idea of a ‘critical bandwidth’ to assess the evidence that a regression curve is non-monotonic. A hypothesis test is carried out by bootstrap methods and the empirical p-value is reported. Response variables on a continuous scale or with binomial variation can be handled.


sm.monotonicity(x, y, N = rep(1, length(y)), h, type = "continuous", ...)



a vector of covariate values.


a vector of responses observed at the covariate locations.


a vector of sample sizes at the covariate locations, when the responses have a binomial error structure.


a smoothing parameter to be used in the construction of the nonparametric regression estimates. A normal kernel function is used and h is its standard deviation(s). However, if this argument is omitted h will be selected automatically, using the method which is currently active. See sm.options and for details.


an indicator of whether the response variable is on a "continuous" or "binomial" scale.


other optional parameters are passed to the sm.options function, through a mechanism which limits their effect only to this call of the function; some of those relevant for this function are add, ngrid, xlab, ylab, xlim, ylim, lty, col; see the documentation of sm.options for their description.


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


the p-value for the test of the null hypothesis that the true curve is monotonic.


the ‘critical’ smoothing parameter. This is the smallest value which, when applied to the observed data, makes the curve monotonic.


the smoothing parameter used for double-smoothing (see the reference below).

Side Effects

a plot of the curves generated by the bootstrap procedure is produced, unless the option display="none" is set. Those curves which are non-monotonic, and therefore contribute to the empirical p-value, are drawn in red.


Bowman, A.W., Jones, M.C. and Gijbels, I. (1998). Testing monotonicity of regression. J.Comp.Graph.Stat. 7, 489-500.

See Also

sm.regression, sm.options


	## 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)

[Package sm version 2.2-5.6 Index]