rms (version 6.2-0)

# Function: Compose an S Function to Compute X beta from a Fit

## Description

`Function` is a class of functions for creating other S functions. `Function.rms` is the method for creating S functions to compute X beta, based on a model fitted with `rms` in effect. Like `latexrms`, `Function.rms` simplifies restricted cubic spline functions and factors out terms in second-order interactions. `Function.rms` will not work for models that have third-order interactions involving restricted cubic splines. `Function.cph` is a particular method for handling fits from `cph`, for which an intercept (the negative of the centering constant) is added to the model. `sascode` is a function that takes an S function such as one created by `Function` and does most of the editing to turn the function definition into a fragment of SAS code for computing X beta from the fitted model, along with assignment statements that initialize predictors to reference values. `perlcode` similarly creates Perl code to evaluate a fitted regression model.

## Usage

```# S3 method for rms
Function(object, intercept=NULL,
digits=max(8, .Options\$digits), posterior.summary=c('mean', 'median', 'mode'), …)
# S3 method for cph
Function(object, intercept=-object\$center, …)# Use result as fun(predictor1=value1, predictor2=value2, \dots)sascode(object, file='', append=FALSE)perlcode(object)```

## Arguments

object

a fit created with `rms` in effect

intercept

an intercept value to use (not allowed to be specified to `Function.cph`). The intercept is usually retrieved from the regression coefficients automatically.

digits

number of significant digits to use for coefficients and knot locations

posterior.summary

if using a Bayesian model fit such as from `blrm`, specifies whether to use posterior mode/mean/median parameter estimates in generating the function

file

name of a file in which to write the SAS code. Default is to write to standard output.

append

set to `TRUE` to have `sascode` append code to an existing file named `file`.

arguments to pass to `Function.rms` from `Function.cph`

## Value

`Function` returns an S-Plus function that can be invoked in any usual context. The function has one argument per predictor variable, and the default values of the predictors are set to `adjust-to` values (see `datadist`). Multiple predicted X beta values may be calculated by specifying vectors as arguments to the created function. All non-scalar argument values must have the same length. `perlcode` returns a character string with embedded newline characters.

`latexrms`, `transcan`, `predict.rms`, `rms`, `rms.trans`

## Examples

```# NOT RUN {
suppressWarnings(RNGversion("3.5.0"))
set.seed(1331)
x1 <- exp(rnorm(100))
x2 <- factor(sample(c('a','b'),100,rep=TRUE))
y  <- log(x1)^2+log(x1)*(x2=='b')+rnorm(100)/4
f  <- ols(y ~ pol(log(x1),2)*x2)
f\$coef
g  <- Function(f, digits=5)
g
sascode(g)
cat(perlcode(g), '\n')
g()
g(x1=c(2,3), x2='b')   #could omit x2 since b is default category
predict(f, expand.grid(x1=c(2,3),x2='b'))
g8 <- Function(f)   # default is 8 sig. digits
g8(x1=c(2,3), x2='b')