Function.RdFunction 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.
# S3 method for class 'rms'
Function(object, intercept=NULL,
digits=max(8, .Options$digits), posterior.summary=c('mean', 'median', 'mode'), ...)
# S3 method for class 'cph'
Function(object, intercept=-object$center, ...)
# Use result as fun(predictor1=value1, predictor2=value2, \dots)
sascode(object, file='', append=FALSE)
perlcode(object)a fit created with rms in effect
an intercept value to use (not allowed to be specified to Function.cph).
The intercept is usually retrieved from the regression coefficients
automatically.
number of significant digits to use for coefficients and knot locations
if using a Bayesian model fit such as from
blrm, specifies whether to use posterior mode/mean/median parameter estimates in generating the function
name of a file in which to write the SAS code. Default is to write to standard output.
set to TRUE to have sascode append code to an existing file named
file.
arguments to pass to Function.rms from
Function.cph
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.
suppressWarnings(RNGversion("3.5.0"))
set.seed(1331)
x1 <- exp(rnorm(100))
x2 <- factor(sample(c('a','b'),100,rep=TRUE))
dd <- datadist(x1, x2)
options(datadist='dd')
y <- log(x1)^2+log(x1)*(x2=='b')+rnorm(100)/4
f <- ols(y ~ pol(log(x1),2)*x2)
#> Error in Design(X, formula = formula): dataset dd not found for options(datadist=)
f$coef
#> Error: object 'f' not found
g <- Function(f, digits=5)
#> Error: object 'f' not found
g
#> Error: object 'g' not found
sascode(g)
#> Error: object 'g' not found
cat(perlcode(g), '\n')
#> Error: object 'g' not found
g()
#> Error in g(): could not find function "g"
g(x1=c(2,3), x2='b') #could omit x2 since b is default category
#> Error in g(x1 = c(2, 3), x2 = "b"): could not find function "g"
predict(f, expand.grid(x1=c(2,3),x2='b'))
#> Error: object 'f' not found
g8 <- Function(f) # default is 8 sig. digits
#> Error: object 'f' not found
g8(x1=c(2,3), x2='b')
#> Error in g8(x1 = c(2, 3), x2 = "b"): could not find function "g8"
options(datadist=NULL)
if (FALSE) { # \dontrun{
require(survival)
# Make self-contained functions for computing survival probabilities
# using a log-normal regression
f <- psm(Surv(d.time, death) ~ rcs(age,4)*sex, dist='gaussian')
g <- Function(f)
surv <- Survival(f)
# Compute 2 and 5-year survival estimates for 50 year old male
surv(c(2,5), g(age=50, sex='male'))
} # }