Nothing
clv.template.controlflow.predict <- function(clv.fitted, verbose, user.newdata, ...){
# Check if can predict -----------------------------------------------------------------------------------------
# Cannot predict if there are any NAs in any of the prediction.params
clv.controlflow.check.prediction.params(clv.fitted = clv.fitted)
# Process Newdata -------------------------------------------------------------------------------------
# Because many of the following steps refer to the data stored in the fitted model,
# it first is replaced with newdata before any other steps are done
if(!is.null(user.newdata)){
# check newdata
clv.controlflow.check.newdata(clv.fitted = clv.fitted, user.newdata = user.newdata, ...)
# Replace data in model with newdata
# Deep copy to not change user input
clv.fitted@clv.data <- copy(user.newdata)
# Do model dependent steps of adding newdata
clv.fitted <- clv.model.process.newdata(clv.model = clv.fitted@clv.model, clv.fitted=clv.fitted, verbose=verbose)
}
# Input checks ----------------------------------------------------------------------------------------
# Only after newdata replaced clv.data stored in clv.fitted because inputchecks use clv.fitted@clv.data
clv.controlflow.predict.check.inputs(clv.fitted=clv.fitted, verbose=verbose, ...)
# Prediction result table -----------------------------------------------------------------------------
dt.predictions <- clv.controlflow.predict.build.result.table(clv.fitted=clv.fitted, verbose=verbose, ...)
# Model prediction ------------------------------------------------------------------------------------
dt.predictions <- clv.model.predict(clv.model = clv.fitted@clv.model, clv.fitted = clv.fitted,
dt.predictions = dt.predictions, verbose = verbose, ...)
setkeyv(dt.predictions, "Id")
# Actuals ---------------------------------------------------------------------------------------------
has.actuals <- clv.controlflow.predict.get.has.actuals(clv.fitted, dt.predictions = dt.predictions)
dt.predictions <- clv.controlflow.predict.add.actuals(clv.fitted = clv.fitted, dt.predictions = dt.predictions,
has.actuals = has.actuals, verbose = verbose, ...)
# post.process / add any additional steps -------------------------------------------------------------
# set col order etc
dt.predictions <- clv.controlflow.predict.post.process.prediction.table(clv.fitted = clv.fitted,
has.actuals = has.actuals,
dt.predictions = dt.predictions,
verbose = verbose, ...)
# data.table does not print when returned because it is returned directly after last [:=]
# " if a := is used inside a function with no DT[] before the end of the function, then the next
# time DT or print(DT) is typed at the prompt, nothing will be printed. A repeated DT or print(DT)
# will print. To avoid this: include a DT[] after the last := in your function."
dt.predictions[]
return(dt.predictions)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.