divideUp {hddplot} | R Documentation

## Partition data into mutiple nearly equal subsets

### Description

Randomly partition data into nearly equal subsets. If `balanced=TRUE` the requirement is imposed that the subsets should as far as possible be balanced with respect to a classifying factor. The multiple sets are suitable for use for determining the folds in a cross-validation.

### Usage

    divideUp(cl, nset = 2, seed = NULL, balanced=TRUE)

### Arguments

`cl` | classifying factor
`nset` | number of subsets into which to partition data
`seed` | set the seed, if required, in order to obtain reproducible results
`balanced` | logical: should subsets be as far as possible balanced with respect to the classifying factor?

### Details

### Value

a set of indices that identify the `nset` subsets

### Note

### Author(s)

John Maindonald

### References

### See Also

~~objects to See Also as `help`, ~~~

### Examples

    foldid <- divideUp(cl=rep(1:3, c(17,14,8)), nset=10)
    table(rep(1:3, c(17,14,8)), foldid)
    foldid <- divideUp(cl=rep(1:3, c(17,14,8)), nset=10,
                balanced=FALSE)
    table(rep(1:3, c(17,14,8)), foldid)

    ## The function is currently defined as
    function(cl = rep(1:3, c(7, 4, 8)), nset=2, seed=NULL, balanced=TRUE){
        if(!is.null(seed))set.seed(seed)
        if(balanced){
          ord <- order(cl)
          ordcl <- cl[ord]
          gp0 <- rep(sample(1:nset), length.out=length(cl))
          gp <- unlist(split(gp0,ordcl), function(x)sample(x))
          gp[ord] <- gp
        } else
        gp <- sample(rep(1:nset, length.out=length(cl)))
        as.vector(gp)
      }

[Package hddplot version 0.51 Index]