# Specify a Smooth and Increasing Shape-Restriction in a CGAM Formula

### Description

A symbolic routine to define that the systematic component *η* is smooth and increasing in a predictor in a formula argument to cgam. This is the smooth version.

### Usage

1 |

### Arguments

`x` |
A numeric predictor which has the same length as the response vector. |

`numknots` |
The number of knots used to constrain |

`knots` |
The knots used to constrain |

`space` |
A character specifying the method to create knots. It will not be used if the user specifies the |

### Details

"s.incr" returns the vector "x" and imposes on it five attributes: name, shape, numknots, knots and space.

The name attribute is used in the subroutine plotpersp; the numknots, knots and space attributes are the same as the numknots, knots and space arguments in "s.incr"; the shape attribute is 9("smooth and increasing"). According to the value of the vector itself and its shape, numknots, knots and space attributes, the cone edges will be made by I-spline basis functions in Meyer (2008). The cone edges are a set of basis employed in the hinge algorithm.

Note that "s.incr" does not make the corresponding cone edges itself. It sets things up to a subroutine called makedelta in cgam.

See references cited in this section for more details.

### Value

The vector x with five attributes, i.e., nm: the name of x; shape: 9 ("smooth and increasing"); numknots: the numknots argument in "s.incr"; knots: the knots argument in "s.incr"; space: the space argument in "s.incr".

### Author(s)

Mary C. Meyer and Xiyue Liao

### References

Meyer, M. C. (2013b) A simple new algorithm for quadratic programming with applications in statistics. *Communications in Statistics 42(5)*, 1126–1139.

Meyer, M. C. (2008) Inference using shape-restricted regression splines. *Annals of Applied Statistics 2(3)*, 1013–1033.

### See Also

`incr`

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ```
data(cubic)
# extract x
x <- cubic$x
# extract y
y <- cubic$y
# regress y on x with the shape restriction: "smooth and increasing"
ans <- cgam(y ~ s.incr(x))
knots <- ans$knots[[1]]
# make a plot
par(mar = c(4, 4, 1, 1))
plot(x, y, cex = .7, xlab = "x", ylab = "y")
lines(x, ans$muhat, col = 2)
legend("topleft", bty = "n", "smooth and increasing fit", col = 2, lty = 1)
legend(1.7, 9.2, bty = "o", "knots", pch = "X")
points(knots, 1:length(knots)*0+min(y), pch = "X")
``` |