Skip to contents

Get a new DMatrix containing the specified rows of original xgb.DMatrix object.

Usage

xgb.slice.DMatrix(object, idxset, allow_groups = FALSE)

# S3 method for class 'xgb.DMatrix'
object[idxset, colset = NULL]

Arguments

object

Object of class xgb.DMatrix.

idxset

An integer vector of indices of rows needed (base-1 indexing).

allow_groups

Whether to allow slicing an xgb.DMatrix with group (or equivalently qid) field. Note that in such case, the result will not have the groups anymore - they need to be set manually through setinfo().

colset

Currently not used (columns subsetting is not available).

Examples

data(agaricus.train, package = "xgboost")

dtrain <- with(agaricus.train, xgb.DMatrix(data, label = label, nthread = 2))

dsub <- xgb.slice.DMatrix(dtrain, 1:42)
labels1 <- getinfo(dsub, "label")

dsub <- dtrain[1:42, ]
labels2 <- getinfo(dsub, "label")
all.equal(labels1, labels2)