# predict.lrm

##### Predicted Values for Binary and Ordinal Logistic Models

Computes a variety of types of predicted values for fits from
`lrm`

and `orm`

, either from the original dataset or for new
observations. The `Mean.lrm`

and `Mean.orm`

functions produce
an R function to compute the predicted mean of a numeric ordered
response variable given the linear predictor, which is assumed to use
the first intercept when it was computed. The returned function has two
optional arguments if confidence intervals are desired: `conf.int`

and the design matrix `X`

. When this derived function is called
with nonzero `conf.int`

, an attribute named `limits`

is attached
to the estimated mean. This is a list with elements `lower`

and
`upper`

containing normal approximations for confidence limits
using the delta method.

- Keywords
- models, regression

##### Usage

```
# S3 method for lrm
predict(object, …, type=c("lp", "fitted",
"fitted.ind", "mean", "x", "data.frame",
"terms", "cterms", "ccterms", "adjto","adjto.data.frame",
"model.frame"), se.fit=FALSE, codes=FALSE)
# S3 method for orm
predict(object, …, type=c("lp", "fitted",
"fitted.ind", "mean", "x", "data.frame",
"terms", "cterms", "ccterms", "adjto","adjto.data.frame",
"model.frame"), se.fit=FALSE, codes=FALSE)
```# S3 method for lrm
Mean(object, codes=FALSE, …)
# S3 method for orm
Mean(object, codes=FALSE, …)

##### Arguments

- object
a object created by

`lrm`

or`orm`

- …
arguments passed to

`predictrms`

, such as`kint`

and`newdata`

(which is used if you are predicting`out of data`

). See`predictrms`

to see how NAs are handled. Ignored for other functions.- type
See

`predict.rms`

for`"x", "data.frame", "terms", "cterms", "ccterms", "adjto", "adjto.data.frame"`

and`"model.frame"`

.`type="lp"`

is used to get linear predictors (using the first intercept by default; specify`kint`

to use others).`type="fitted"`

is used to get all the probabilities \(Y\geq j\).`type="fitted.ind"`

gets all the individual probabilities \(Y=j\) (not recommended for`orm`

fits). For an ordinal response variable,`type="mean"`

computes the estimated mean \(Y\) by summing values of \(Y\) multiplied by the estimated \(Prob(Y=j)\). If \(Y\) was a character or`factor`

object, the levels are the character values or factor levels, so these must be translatable to numeric, unless`codes=TRUE`

. See the Hannah and Quigley reference below for the method of estimating (and presenting) the mean score. If you specify`type="fitted","fitted.ind","mean"`

you may not specify`kint`

.- se.fit
applies only to

`type="lp"`

, to get standard errors.- codes
if

`TRUE`

,`type="mean"`

,`Mean.lrm`

, and`Mean.orm`

use the integer codes \(1,2,\ldots,k\) for the \(k\)-level response in computing the predicted mean response.

##### Value

a vector (`type="lp"`

with `se.fit=FALSE`

, or
`type="mean"`

or only one
observation being predicted), a list (with elements `linear.predictors`

and `se.fit`

if `se.fit=TRUE`

), a matrix (`type="fitted"`

or `type="fitted.ind"`

), a data frame, or a design matrix. For
`Mean.lrm`

and `Mean.orm`

, the result is an R function.

##### References

Hannah M, Quigley P: Presentation of ordinal regression analysis on the original scale. Biometrics 52:771--5; 1996.

##### See Also

##### Examples

```
# NOT RUN {
# See help for predict.rms for several binary logistic
# regression examples
# Examples of predictions from ordinal models
set.seed(1)
y <- factor(sample(1:3, 400, TRUE), 1:3, c('good','better','best'))
x1 <- runif(400)
x2 <- runif(400)
f <- lrm(y ~ rcs(x1,4)*x2, x=TRUE) #x=TRUE needed for se.fit
# Get 0.95 confidence limits for Prob[better or best]
L <- predict(f, se.fit=TRUE) #omitted kint= so use 1st intercept
plogis(with(L, linear.predictors + 1.96*cbind(-se.fit,se.fit)))
predict(f, type="fitted.ind")[1:10,] #gets Prob(better) and all others
d <- data.frame(x1=c(.1,.5),x2=c(.5,.15))
predict(f, d, type="fitted") # Prob(Y>=j) for new observation
predict(f, d, type="fitted.ind") # Prob(Y=j)
predict(f, d, type='mean', codes=TRUE) # predicts mean(y) using codes 1,2,3
m <- Mean(f, codes=TRUE)
lp <- predict(f, d)
m(lp)
# Can use function m as an argument to Predict or nomogram to
# get predicted means instead of log odds or probabilities
dd <- datadist(x1,x2); options(datadist='dd')
m
plot(Predict(f, x1, fun=m), ylab='Predicted Mean')
# Note: Run f through bootcov with coef.reps=TRUE to get proper confidence
# limits for predicted means from the prop. odds model
options(datadist=NULL)
# }
```

*Documentation reproduced from package rms, version 6.1-0, License: GPL (>= 2)*