cvFolds {perry} | R Documentation |
Cross-validation folds
Description
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 |
K |
an integer giving the number of folds into which the observations
should be split (the default is five). Setting |
R |
an integer giving the number of replications for repeated
|
type |
a character string specifying the type of folds to be
generated. Possible values are |
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:
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.
Note
This is a simple wrapper function for perrySplits
with a
control object generated by foldControl
.
Author(s)
Andreas Alfons
See Also
perrySplits
, foldControl
,
randomSplits
, bootSamples
Examples
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)