Learn R Programming

cvTools (version 0.1.1)

cvFolds: Cross-validation folds

Description

Split $n$ observations into $K$ groups to be used for (repeated) $K$-fold cross-validation. $K$ should thereby be chosen such that all groups are of approximately equal size.

Usage

cvFolds(n, K = 5, R = 1, type = c("random", "consecutive",
     "interleaved"))

Arguments

n
an integer giving the number of observations to be split into groups.
K
an integer giving the number of groups into which the observations should be split (the default is five). Setting K equal to n yields leave-one-out cross-validation.
R
an integer giving the number of replications for repeated $K$-fold cross-validation. This is ignored for for leave-one-out cross-validation and other non-random splits of the data.
type
a character string specifying the type of folds to be generated. Possible values are "random" (the default), "consecutive" or "interleaved".

Value

  • An object of class "cvFolds" with the following components:
  • nan integer giving the number of observations.
  • Kan integer giving the number of folds.
  • Ran integer giving the number of replications.
  • subsetsan integer matrix in which each column contains a permutation of the indices.
  • whichan integer vector giving the fold for each permuted observation.

See Also

cvFit, cvSelect, cvTuning

Examples

Run this code
set.seed(1234)  # set seed for reproducibility
cvFolds(20, K = 5, type = "random")
cvFolds(20, K = 5, type = "consecutive")
cvFolds(20, K = 5, type = "interleaved")
cvFolds(20, K = 5, R = 10)

Run the code above in your browser using DataLab