Split observations or groups of observations into $K$
folds to be used for (repeated) $K$-fold
cross-validation. $K$ should thereby be chosen such
that all folds are of approximately equal size.
Usage
cvFolds(n, K = 5, R = 1,
type = c("random", "consecutive", "interleaved"),
grouping = NULL)
Arguments
n
an integer giving the number of observations to
be split into folds. This is ignored if grouping
is supplied in order to split groups of observations into
folds.
K
an integer giving the number of folds into which
the observations should be split (the default is five).
Setting K equal to the number of observations or
groups 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".
grouping
a factor specifying groups of
observations. If supplied, the data are split according
to the groups rather than individual observations such
that all observations within a group belong to the same
fold.
Value
An object of class "cvFolds" with the following
components:
nan integer giving the number of observations or
groups.
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 of the observations
or groups.
whichan integer vector giving the fold for each
permuted observation or group.
groupinga list giving the indices of the
observations belonging to each group. This is only
returned if a grouping factor has been supplied.
set.seed(1234) # set seed for reproducibilitycvFolds(20, K = 5, type = "random")
cvFolds(20, K = 5, type = "consecutive")
cvFolds(20, K = 5, type = "interleaved")
cvFolds(20, K = 5, R = 10)