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
)
Value
An object of class "cvFolds" with the following components:
n
an integer giving the number of observations or groups.
K
an integer giving the number of folds.
R
an integer giving the number of replications.
subsets
an integer matrix in which each column contains a
permutation of the indices of the observations or groups.
which
an integer vector giving the fold for each permuted
observation or group.
grouping
a list giving the indices of the observations
belonging to each group. This is only returned if a grouping factor
has been supplied.
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.
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)