R/kfold_crossvalidation.R

kfold_crossvalidation <- function(n, k = 10, seed = NULL) {

  # random number generator ----
  set.seed(seed = seed)

  # create folds and k-fold matrix ----
  x <- seq_len(n)
  kfold <- sample(cut(x = x, breaks = k, labels = FALSE))

  kfold_matrix <- matrix(NA, nrow = n, ncol = k)
  for(i in seq_len(k)) {
    kfold_matrix[, i] = kfold == i
  }

  colnames(kfold_matrix) <- seq_len(k)
  rownames(kfold_matrix) <- seq_len(n)

  # return ----
  rout <- kfold_matrix
  return(rout)

}
dsnavega/imputeForest documentation built on May 8, 2019, 2:43 p.m.