protection against returning 0-length vector
This commit is contained in:
parent
bdf14007b5
commit
754f3a6e07
@ -187,18 +187,18 @@ getinfo <- function(object, ...) UseMethod("getinfo")
|
|||||||
#' @rdname getinfo
|
#' @rdname getinfo
|
||||||
#' @export
|
#' @export
|
||||||
getinfo.xgb.DMatrix <- function(object, name) {
|
getinfo.xgb.DMatrix <- function(object, name) {
|
||||||
if (typeof(name) != "character") {
|
if (typeof(name) != "character" ||
|
||||||
stop("getinfo: name must be character")
|
length(name) != 1 ||
|
||||||
}
|
!name %in% c('label', 'weight', 'base_margin', 'nrow')) {
|
||||||
if (name != "label" && name != "weight" &&
|
stop("getinfo: name must one of the following\n",
|
||||||
name != "base_margin" && name != "nrow") {
|
" 'label', 'weight', 'base_margin', 'nrow'")
|
||||||
stop(paste("getinfo: unknown info name", name))
|
|
||||||
}
|
}
|
||||||
if (name != "nrow"){
|
if (name != "nrow"){
|
||||||
ret <- .Call("XGDMatrixGetInfo_R", object, name, PACKAGE = "xgboost")
|
ret <- .Call("XGDMatrixGetInfo_R", object, name, PACKAGE = "xgboost")
|
||||||
} else {
|
} else {
|
||||||
ret <- nrow(object)
|
ret <- nrow(object)
|
||||||
}
|
}
|
||||||
|
if (length(ret) == 0) return(NULL)
|
||||||
return(ret)
|
return(ret)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user