nobs
is not specified, allows user to specify predictor settings
by e.g.
age=50, sex="male"
, and any omitted predictors are set to
reference values (default=median for continuous variables, first level
for categorical ones - see
datadist
). If any predictor has more than one
value given,
expand.grid
is called to generate all possible combinations
of values. If
nobs
is given, a data frame is first generated which has
nobs
of adjust-to values duplicated. Then an editor window is opened
which allows the user to subset the variable names down to ones which she
intends to vary (this streamlines the
data.ed
step). Then, if any
predictors kept are discrete and
viewvals=TRUE
, a window (using
page
)
is opened defining the possible values of this subset, to facilitate
data editing. Then the
data.ed
function is invoked to allow interactive
overriding of predictor settings in the
nobs
rows. The subset of
variables are combined with the other predictors which were not
displayed with
data.ed
, and a final full data frame is returned.
gendata
is most useful for creating a
newdata
data frame to pass
to
predict
.
gendata(fit, ...) ## S3 method for class 'Design': gendata(fit, nobs, viewvals=FALSE, editor=.Options$editor, ..., factors) ## Default S3 method: gendata(fit, ...)
Design
in effect
nobs
is given, set
viewvals=TRUE
to open a window displaying the
possible value of categorical predictors
options(editor=)
value (
"xedit"
is this is not specified
by
using.X()==TRUE
.
nobs
is not given.
if you have a variable in
...
that is named
n, no, nob, nob
, add
nobs=FALSE
to the invocation to prevent that variable from being misrecognized
as
nobs
names.subset
if
nobs
is specified. This attribute contains the vector of variable
names for predictors which were passed to
data.ed
and hence were
allowed to vary. If neither
nobs
nor any predictor settings were
given, returns a data frame with adjust-to values.
Frank Harrell
Department of Biostatistics
Vanderbilt University
f.harrell@vanderbilt.edu
set.seed(1) age <- rnorm(200, 50, 10) sex <- factor(sample(c('female','male'),200,TRUE)) race <- factor(sample(c('a','b','c','d'),200,TRUE)) y <- sample(0:1, 200, TRUE) dd <- datadist(age,sex,race) options(datadist="dd") f <- lrm(y ~ age*sex + race) gendata(f) gendata(f, age=50) d <- gendata(f, age=50, sex="female") # leave race=reference category d <- gendata(f, age=c(50,60), race=c("b","a")) # 4 obs. d$Predicted <- predict(f, d, type="fitted") d # Predicted column prints at the far right options(datadist=NULL) ## Not run: d <- gendata(f, nobs=5, view=TRUE) # 5 interactively defined obs. d[,attr(d,"names.subset")] # print variables which varied predict(f, d) ## End(Not run)