transformPredict {latrend} | R Documentation |
Helper function for custom lcModel classes implementing predict.lcModel()
Description
A helper function for implementing the predict.lcModel() method as part of your own lcModel
class, ensuring the correct output type and format (see the Value section).
Note that this function has no use outside of ensuring valid output for predict.lcModel
.
For implementing lcModel
predictions from scratch, it is advisable to implement predictForCluster instead of predict.lcModel.
The prediction ordering corresponds to the observation ordering of the newdata
argument.
By default, transformPredict()
accepts one of the following inputs:
data.frame
A
data.frame
in long format providing a cluster-specific prediction for each observation per row, with column names"Fit"
and"Cluster"
. Thisdata.frame
therefore hasnrow(model.data(object)) * nClusters(object)
rows.matrix
An N-by-K
matrix
where each row provides the cluster-specific predictions for the respective observations innewdata
. Here,N = nrow(newdata)
andK = nClusters(object)
.vector
A
vector
of lengthnrow(newdata)
with predictions corresponding to the rows ofnewdata
.
Users can implement support for other prediction formats by defining the transformPredict()
method with other signatures.
Usage
transformPredict(pred, model, newdata)
## S4 method for signature 'NULL,lcModel'
transformPredict(pred, model, newdata)
## S4 method for signature 'vector,lcModel'
transformPredict(pred, model, newdata)
## S4 method for signature 'matrix,lcModel'
transformPredict(pred, model, newdata)
## S4 method for signature 'data.frame,lcModel'
transformPredict(pred, model, newdata)
Arguments
pred |
The (per-cluster) predictions for |
model |
The |
newdata |
A |
Value
A data.frame
with the predictions, or a list of cluster-specific prediction data.frame
s.
Example implementation
In case we have a custom lcModel
class based on an existing internal model representation with a predict()
function,
we can use transformPredict()
to easily transform the internal model predictions to the right format.
A common output is a matrix
with the cluster-specific predictions.
predict.lcModelExample <- function(object, newdata) { predictionMatrix <- predict(object@model, newdata) transformPredict( pred = predictionMatrix, model = object, newdata = newdata ) }
However, for ease of implementation it is generally advisable to implement predictForCluster instead of predict.lcModel.
For a complete and runnable example, see the custom models vignette accessible via vignette("custom", package = "latrend")
.
See Also
predictForCluster, predict.lcModel