R/initial_split.R

#' Simple Training/Test Set Splitting
#'
#' `initial_split` creates a single binary split of the data 
#'  into a training set and testing set. `training` and
#'  `testing` are used to extract the resulting data.
#'
#' @details 
#' The `strata` argument causes the random sampling to be conducted *within the stratification variable*. The can help ensure that the number of data points in the training data is equivalent to the proportions in the original data set.  
#'
#' @inheritParams vfold_cv
#' @param prop The proportion of data to be retained for modeling/analysis. 
#' @param strata A variable that is used to conduct stratified sampling to create the resamples. 
#' @export
#' @return  An `rset` object that can be used with the `training` and `testing` functions to extract the data in each split. 
#' @examples
#' set.seed(1353)
#' car_split <- initial_split(mtcars)
#' train_data <- training(car_split)
#' test_data <- testing(car_split) 
#' @export
#' 
initial_split <- function(data, prop = 3/4, strata = NULL, ...) {
  res <-
    mc_cv(
      data = data,
      prop = prop,
      strata = strata,
      times = 1,
      ...
    )
  res$splits[[1]]
}

#' @rdname initial_split 
#' @export
#' @param x An `rsplit` object produced by `initial_split`
training <- function(x) analysis(x)
#' @rdname initial_split 
#' @export
testing <- function(x) assessment(x)

  
topepo/rsample documentation built on May 4, 2019, 4:25 p.m.