# ridge

##### Ridge regression

When used in a coxph or survreg model formula,
specifies a ridge regression term. The likelihood is penalised by
`theta`

/2 time the sum of squared coefficients. If `scale=T`

the penalty is calculated for coefficients based on rescaling the
predictors to have unit variance. If `df`

is specified then `theta`

is chosen based on an approximate degrees of freedom.

- Keywords
- survival

##### Usage

`ridge(..., theta, df=nvar/2, eps=0.1, scale=TRUE)`

##### Arguments

- …
predictors to be ridged

- theta
penalty is

`theta`

/2 time sum of squared coefficients- df
Approximate degrees of freedom

- eps
Accuracy required for

`df`

- scale
Scale variables before applying penalty?

##### Value

An object of class `coxph.penalty`

containing the data and
control functions.

##### Note

If the expression `ridge(x1, x2, x3, ...)`

is too many characters
long then the
internal terms() function will add newlines to the variable name and
then the coxph routine simply gets lost. (Some labels will have the newline
and some won't.)
One solution is to bundle all of the variables into a single matrix and
use that matrix as the argument to `ridge`

so as to shorten the call,
e.g. `mdata$many <- as.matrix(mydata[,5:53])`

.

##### References

Gray (1992) "Flexible methods of analysing survival data using splines, with applications to breast cancer prognosis" JASA 87:942--951

##### See Also

##### Examples

```
# NOT RUN {
coxph(Surv(futime, fustat) ~ rx + ridge(age, ecog.ps, theta=1),
ovarian)
lfit0 <- survreg(Surv(time, status) ~1, cancer)
lfit1 <- survreg(Surv(time, status) ~ age + ridge(ph.ecog, theta=5), cancer)
lfit2 <- survreg(Surv(time, status) ~ sex + ridge(age, ph.ecog, theta=1), cancer)
lfit3 <- survreg(Surv(time, status) ~ sex + age + ph.ecog, cancer)
# }
```

*Documentation reproduced from package survival, version 3.1-8, License: LGPL (>= 2)*