setup.smart.RdSets up smart prediction in one of two modes:
"write" and "read".
setup.smart(mode.arg, smart.prediction = NULL, max.smart = 30)mode.arg must be "write" or "read". If in
"read" mode then smart.prediction must be assigned the
data structure .smart.prediction that was created while
fitting. This is stored in object@smart.prediction or
object$smart.prediction where
object is the name of the fitted object.
If in "read" mode then smart.prediction must be assigned
the list of data dependent parameters, which is stored
on the fitted object.
Otherwise, smart.prediction is ignored.
max.smart is the initial length of the list
.smart.prediction. It is not important because
.smart.prediction is made larger if needed.
Nothing is returned.
In "write" mode
.smart.prediction in
smartpredenv
is assigned an empty list with max.smart components.
In "read" mode
.smart.prediction in
smartpredenv
is assigned smart.prediction.
Then
.smart.prediction.counter in
smartpredenv
is assigned the value 0, and
.smart.prediction.mode and .max.smart are written to
smartpredenv too.
This function is only required by programmers writing a modelling
function such as lm
and glm, or a prediction functions of such,
e.g., predict.lm.
The function
setup.smart operates by mimicking the operations of a
first-in first-out stack (better known as a queue).
lm,
predict.lm.
if (FALSE) { # \dontrun{
setup.smart("write") # Put at the beginning of lm
} # }
if (FALSE) # Put at the beginning of predict.lm
setup.smart("read", smart.prediction = object$smart.prediction)
# \dontrun{}