Description Usage Arguments Details Value Author(s) Examples
generate a partition function for cross-validation, where the partitions are approximately balanced with respect to the distribution of a response variable
1 |
K |
number of partitions to be computed |
This function returns a closure. The symbol K
is
bound in the environment of the returned function.
A closure consisting of a function that can be used
as a partitionFunc
for passage in xvalSpec
.
VJ Carey <stvjc@channing.harvard.edu>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | ## The function is currently defined as
function (K)
function(data, clab, iternum) {
clabs <- data[[clab]]
narr <- nrow(data)
cnames <- unique(clabs)
ilist <- list()
for (i in 1:length(cnames)) ilist[[cnames[i]]] <- which(clabs ==
cnames[i])
clens <- lapply(ilist, length)
nrep <- lapply(clens, function(x) ceiling(x/K))
grpinds <- list()
for (i in 1:length(nrep)) grpinds[[i]] <- rep(1:K, nrep[[i]])[1:clens[[i]]]
(1:narr)[-which(unlist(grpinds) == iternum)]
}
# try it out
library("MASS")
data(crabs)
p1c = balKfold.xvspec(5)
inds = p1c( crabs, "sp", 3 )
table(crabs$sp[inds] )
inds2 = p1c( crabs, "sp", 4 )
table(crabs$sp[inds2] )
allc = 1:200
# are test sets disjoint?
intersect(setdiff(allc,inds), setdiff(allc,inds2))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.