From ab72f406f6b05f436488baff58f7528a59e3347d Mon Sep 17 00:00:00 2001 From: Robrecht Cannoodt Date: Thu, 10 Jun 2021 10:37:08 +0200 Subject: [PATCH] Add documentation --- DESCRIPTION | 3 ++- NEWS.md | 2 +- R/calculate_feature_importances.R | 9 +++++++++ R/calculate_overall_feature_importance.R | 2 ++ R/fi_methods.R | 4 +++- cran-comments.md | 8 ++++++-- man/calculate_feature_importances.Rd | 10 ++++++++++ man/calculate_overall_feature_importance.Rd | 3 +++ man/fi_methods.Rd | 5 ++++- 9 files changed, 40 insertions(+), 6 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 9862155..d554431 100755 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -13,7 +13,8 @@ Authors@R: role = "aut", email = "wouter.saelens@gmail.com", comment = c(ORCID = "0000-0002-7114-6248", github = "zouter"))) -Description: Calculating feature importance scores from trajectories using the random forests algorithm and more. +Description: Calculating feature importance scores from trajectories using the random forests algorithm and more. Saelens and Cannoodt et + al. (2019) . License: GPL-3 Encoding: UTF-8 Imports: diff --git a/NEWS.md b/NEWS.md index d03a97d..f7f58e8 100644 --- a/NEWS.md +++ b/NEWS.md @@ -6,7 +6,7 @@ Initial release of dynfeature on CRAN. * MINOR CHANGE: Support sparse matrices. -* DOCUMENTATION: Add examples. +* DOCUMENTATION: Add examples and returns. # dynfeature 0.2.0 (25-10-2018) diff --git a/R/calculate_feature_importances.R b/R/calculate_feature_importances.R index 98052ee..5123a7c 100644 --- a/R/calculate_feature_importances.R +++ b/R/calculate_feature_importances.R @@ -4,6 +4,15 @@ #' @param Y A data frame of predictor variables, with `nrow(Y) == nrow(X)`. #' @param fi_method A feature importance method. Default: `fi_ranger_rf_lite()`. Check `?fi_methods` for a full list of available feature importance methods. #' @param verbose Whether to print out extra information. +#' +#' @returns A data frame with three columns, `predictor_id`, `feature_id`, and `importance`. `predictor_id` is a column in `Y`, while `feature_id` is a column in `X`. +#' +#' @examples +#' X <- data.frame(matrix(runif(25*10), ncol = 10)) +#' Y <- data.frame(matrix(runif(25*2), ncol = 2)) +#' +#' # don't run since this function is not exported +#' # calculate_feature_importances(X, Y) calculate_feature_importances <- function( X, Y, diff --git a/R/calculate_overall_feature_importance.R b/R/calculate_overall_feature_importance.R index 1e16dd1..77f2fb4 100644 --- a/R/calculate_overall_feature_importance.R +++ b/R/calculate_overall_feature_importance.R @@ -12,6 +12,8 @@ #' @param milestones_oi The milestone(s) for which to calculate feature importance #' @param waypoints The waypoints, optional #' +#' @returns A data frame with two or more columns, `feature_id`, and `importance`. `feature_id` is a column in the trajectory expression matrix. Additional columns may be available depending on the function called. +#' #' @inheritParams calculate_feature_importances #' #' @importFrom reshape2 acast diff --git a/R/fi_methods.R b/R/fi_methods.R index b0578b2..c3a6701 100644 --- a/R/fi_methods.R +++ b/R/fi_methods.R @@ -14,7 +14,9 @@ apply_function_params <- function(params, nrow, ncol) { #' @param num_variables_per_split (fi_ranger_rf_lite) The number of variables to sample per split #' @param num_samples_per_tree (fi_ranger_rf_lite) The number of samples to bootstrap per split #' @param min_node_size (fi_ranger_rf_lite) The minimum node size, no split will be made if the node size is less than this value. -#' @param ... Extra parameters to pass onto the underlying feature importnce function. +#' @param ... Extra parameters to pass onto the underlying feature importance function. +#' +#' @returns A list containing a helper function for calling a feature importance function. #' #' @rdname fi_methods #' diff --git a/cran-comments.md b/cran-comments.md index 0a194bb..093ddf6 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -6,7 +6,7 @@ Initial release of dynfeature on CRAN. * MINOR CHANGE: Support sparse matrices. -* DOCUMENTATION: Add examples. +* DOCUMENTATION: Add examples and returns. ## Test environments * local Fedora install, R 4.0 @@ -17,6 +17,10 @@ Initial release of dynfeature on CRAN. ``` ── R CMD check results ─────────────────────────────────── dynfeature 1.0.0 ──── -... +Duration: 3m 0.1s + +0 errors ✓ | 0 warnings ✓ | 0 notes ✓ + +R CMD check succeeded ``` diff --git a/man/calculate_feature_importances.Rd b/man/calculate_feature_importances.Rd index e84f04e..ad201ed 100644 --- a/man/calculate_feature_importances.Rd +++ b/man/calculate_feature_importances.Rd @@ -20,6 +20,16 @@ calculate_feature_importances( \item{verbose}{Whether to print out extra information.} } +\value{ +A data frame with three columns, \code{predictor_id}, \code{feature_id}, and \code{importance}. \code{predictor_id} is a column in \code{Y}, while \code{feature_id} is a column in \code{X}. +} \description{ Calculate feature importance scores } +\examples{ +X <- data.frame(matrix(runif(25*10), ncol = 10)) +Y <- data.frame(matrix(runif(25*2), ncol = 2)) + +# don't run since this function is not exported +# calculate_feature_importances(X, Y) +} diff --git a/man/calculate_overall_feature_importance.Rd b/man/calculate_overall_feature_importance.Rd index ddcaa8b..f5c548b 100755 --- a/man/calculate_overall_feature_importance.Rd +++ b/man/calculate_overall_feature_importance.Rd @@ -77,6 +77,9 @@ calculate_waypoint_feature_importance( \item{waypoints}{The waypoints, optional} } +\value{ +A data frame with two or more columns, \code{feature_id}, and \code{importance}. \code{feature_id} is a column in the trajectory expression matrix. Additional columns may be available depending on the function called. +} \description{ Uses the feature importance measures of \code{\link[ranger]{ranger}} or \code{caret}. \code{calculate_overall_feature_importance} calculates the importance for the whole trajectory, diff --git a/man/fi_methods.Rd b/man/fi_methods.Rd index c5503fb..ce17fe7 100644 --- a/man/fi_methods.Rd +++ b/man/fi_methods.Rd @@ -36,10 +36,13 @@ fi_ranger_rf_tiny( \item{min_node_size}{(fi_ranger_rf_lite) The minimum node size, no split will be made if the node size is less than this value.} -\item{...}{Extra parameters to pass onto the underlying feature importnce function.} +\item{...}{Extra parameters to pass onto the underlying feature importance function.} \item{caret_method}{(fi_caret) Which caret method to use for feature importance.} } +\value{ +A list containing a helper function for calling a feature importance function. +} \description{ Feature Importance methods }