R/calculate_waypoint_feature_importance.R

Defines functions calculate_waypoint_feature_importance

Documented in calculate_waypoint_feature_importance

#' @rdname calculate_overall_feature_importance
#'
#' @export
calculate_waypoint_feature_importance <- function(
  trajectory,
  expression_source = "expression",
  waypoints = NULL,
  fi_method = fi_ranger_rf_lite(),
  verbose = FALSE
) {
  if (is.null(waypoints)) {
    if (!dynwrap::is_wrapper_with_waypoints(trajectory)) {
      message("Adding waypoints to prediction")
      trajectory <- trajectory %>% dynwrap::add_waypoints()
    }

    waypoints <- trajectory$waypoints
  }

  expression <- dynwrap::get_expression(trajectory, expression_source)

  calculate_feature_importances(
    X = expression,
    Y = t(waypoints$geodesic_distances)[rownames(expression),unique(rownames(waypoints$geodesic_distances))],
    fi_method = fi_method,
    verbose = verbose
  ) %>%
    rename(waypoint_id = .data$predictor_id)
}

Try the dynfeature package in your browser

Any scripts or data that you put into this service are public.

dynfeature documentation built on March 7, 2023, 8:25 p.m.