## Defining Smooths in addreg.smooth Formulae

### Description

Function used in the definition of smooth terms within addreg.smooth model formulae. The function does not evaluate a smooth — it exists purely to help set up a model using smooths.

### Usage

B(..., knots = NULL, knot.range = 0:5)

Iso(...)


### Arguments

 ... variable that this smooth is a function of. Note that unlike gam, smooths that are functions of more than one variable are not supported. knots unique positions of interior knots of a B-spline basis. Boundary knots are created automatically. knot.range if knots is not specified, a vector containing a series of non-negative integers denoting the number of interior knots for which the model will be fit. These are placed at evenly-spaced quantiles of the observed covariate values. At least one of knots or knot.range must be non-missing.

### Details

The function does not evaluate the variable arguments; the output from this function is used when producing the model matrix, at which point the actual basis functions are constructed.

B is used to specify an order-3 B-spline basis (which can be restricted to be monotonically non-decreasing via the mono argument in addreg.smooth). If length(knot.range) > 1, models with each of the specified number of interior knots will be fit, and the model with the best (smallest) aic.c will be returned.

Iso is used to specify an isotonic basis, designed such that the resulting function has non-negative increments at each observed covariate value. When Iso is used, the resulting function will always be monotonically non-decreasing, regardless of the value of mono.

### Value

An object of class "B.smooth" (for B) or "Iso.smooth" (for Iso), which is a list with the following elements:

 term name of the term provided in the ... argument. termlabel label for the term in the model; e.g. for term "x" it will be "B(x)" or "Iso(x)". knots vector of interior knots (if specified). NA for Iso. knot.range vector of number of interior knots. NA for Iso.

### Author(s)

Mark W. Donoghoe markdonoghoe@gmail.com

addreg.smooth
s performs a similar function in the mgcv package.
## See example(addreg.smooth) for an example of specifying smooths in model