Skip to content

Commit

Permalink
Fixed output and documentation of predict(). Closes #12
Browse files Browse the repository at this point in the history
  • Loading branch information
niekdt committed Jan 5, 2021
1 parent c58041f commit 00caafc
Show file tree
Hide file tree
Showing 19 changed files with 61 additions and 55 deletions.
16 changes: 11 additions & 5 deletions R/model-transform.R
Original file line number Diff line number Diff line change
Expand Up @@ -168,11 +168,17 @@ setMethod('transformPredict', signature('data.frame', 'lcModel'), function(pred,
subset(select = predvars)
}


# only split when newdata does not specify Cluster
if (hasName(newdata, 'Cluster') || !hasName(newpred, 'Cluster')) {
newpred
if (hasName(newpred, 'Cluster')) {
newpredClusters = newpred$Cluster
# drop Cluster column
newpred = subset(newpred, select = setdiff(names(newpred), 'Cluster')) %>%
as.data.frame()
if (hasName(newdata, 'Cluster')) {
newpred
} else {
split(newpred, newpredClusters)
}
} else {
split(newpred, newpred$Cluster)
as.data.frame(newpred)
}
})
10 changes: 5 additions & 5 deletions R/model.R
Original file line number Diff line number Diff line change
Expand Up @@ -686,13 +686,13 @@ nobs.lcModel = function(object, ...) {
#' @rdname predict.lcModel
#' @importFrom stats predict
#' @title lcModel predictions
#' @description Predicts the expected trajectory observations at the given time for each cluster, unless specified.
#' @description Predicts the expected trajectory observations at the given time for each cluster.
#' @details Subclasses of `lcModel` should preferably implement `predictForCluster` instead of overriding `predict.lcModel` in order to benefit from standardized error checking and output handling.
#' @param object The `lcModel` object.
#' @param newdata Optional data frame for which to compute the model predictions. If omitted, the model training data is used.
#' Cluster trajectory predictions are made when ids are not specified. If the clusters are specified under the Cluster column, output is given only for the specified cluster. Otherwise, a matrix is returned with predictions for all clusters.
#' @param what The distributional parameter to predict. By default, the mean response 'mu' is predicted. The cluster membership predictions can be obtained by specifying what='mb'.
#' @return If newdata specifies the cluster membership; a vector of cluster-specific predictions. Otherwise, a matrix of predictions is returned corresponding to each cluster.
#' @param newdata Optional `data.frame` for which to compute the model predictions. If omitted, the model training data is used.
#' Cluster trajectory predictions are made when ids are not specified.
#' @param what The distributional parameter to predict. By default, the mean response 'mu' is predicted. The cluster membership predictions can be obtained by specifying `what = 'mb'`.
#' @return If `newdata` specifies the cluster membership; a `data.frame` of cluster-specific predictions. Otherwise, a `list` of `data.frame` of cluster-specific predictions is returned.
#' @param ... Additional arguments.
#' @examples
#' data(latrendData)
Expand Down
2 changes: 1 addition & 1 deletion man/clusterTrajectories.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions man/interface-crimCV.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/interface-custom.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions man/interface-dtwclust.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions man/interface-featureBased.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions man/interface-flexmix.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions man/interface-funFEM.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions man/interface-lcmm.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions man/interface-mclust.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions man/interface-mixAK.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions man/interface-mixtools.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions man/interface-mixtvem.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions man/lcApproxModel-class.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/plotClusterTrajectories.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions man/predict.lcModel.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions man/predictAssignments.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 00caafc

Please sign in to comment.