[R] enforce lintr checks (fixes #8012) (#8613)

This commit is contained in:
James Lamb 2022-12-24 15:02:56 -06:00 committed by GitHub
parent f489d824ca
commit c7e82b5914
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 13 additions and 15 deletions

View File

@ -44,8 +44,7 @@ jobs:
- name: Run lintr - name: Run lintr
run: | run: |
MAKEFLAGS="-j$(nproc)" R CMD INSTALL R-package/ MAKEFLAGS="-j$(nproc)" R CMD INSTALL R-package/
# Disable lintr errors for now: https://github.com/dmlc/xgboost/issues/8012 Rscript tests/ci_build/lint_r.R $(pwd)
Rscript tests/ci_build/lint_r.R $(pwd) || true
test-R-on-Windows: test-R-on-Windows:
runs-on: ${{ matrix.config.os }} runs-on: ${{ matrix.config.os }}

View File

@ -4,7 +4,7 @@
#' @rdname xgb.plot.importance #' @rdname xgb.plot.importance
#' @export #' @export
xgb.ggplot.importance <- function(importance_matrix = NULL, top_n = NULL, measure = NULL, xgb.ggplot.importance <- function(importance_matrix = NULL, top_n = NULL, measure = NULL,
rel_to_first = FALSE, n_clusters = c(1:10), ...) { rel_to_first = FALSE, n_clusters = seq_len(10), ...) {
importance_matrix <- xgb.plot.importance(importance_matrix, top_n = top_n, measure = measure, importance_matrix <- xgb.plot.importance(importance_matrix, top_n = top_n, measure = measure,
rel_to_first = rel_to_first, plot = FALSE, ...) rel_to_first = rel_to_first, plot = FALSE, ...)

View File

@ -97,9 +97,9 @@ xgb.plot.multi.trees <- function(model, feature_names = NULL, features_keep = 5,
, by = .(abs.node.position, Feature) , by = .(abs.node.position, Feature)
][, .(Text = paste0( ][, .(Text = paste0(
paste0( paste0(
Feature[1:min(length(Feature), features_keep)], Feature[seq_len(min(length(Feature), features_keep))],
" (", " (",
format(Quality[1:min(length(Quality), features_keep)], digits = 5), format(Quality[seq_len(min(length(Quality), features_keep))], digits = 5),
")" ")"
), ),
collapse = "\n" collapse = "\n"

View File

@ -273,7 +273,7 @@ xgb.shap.data <- function(data, shap_contrib = NULL, features = NULL, top_n = 1,
} }
top_n <- top_n[1] top_n <- top_n[1]
if (top_n < 1 | top_n > 100) stop("top_n: must be an integer within [1, 100]") if (top_n < 1 | top_n > 100) stop("top_n: must be an integer within [1, 100]")
features <- imp$Feature[1:min(top_n, NROW(imp))] features <- imp$Feature[seq_len(min(top_n, NROW(imp)))]
} }
if (is.character(features)) { if (is.character(features)) {
features <- match(features, colnames(data)) features <- match(features, colnames(data))

View File

@ -389,7 +389,7 @@ xgb.train <- function(params = list(), data, nrounds, watchlist = list(),
xgb.iter.update(bst$handle, dtrain, iteration - 1, obj) xgb.iter.update(bst$handle, dtrain, iteration - 1, obj)
if (length(watchlist) > 0) if (length(watchlist) > 0)
bst_evaluation <- xgb.iter.eval(bst$handle, watchlist, iteration - 1, feval) bst_evaluation <- xgb.iter.eval(bst$handle, watchlist, iteration - 1, feval) # nolint: object_usage_linter
xgb.attr(bst$handle, 'niter') <- iteration - 1 xgb.attr(bst$handle, 'niter') <- iteration - 1

View File

@ -33,7 +33,7 @@ treeInteractions <- function(input_tree, input_max_depth) {
} }
# Extract nodes with interactions # Extract nodes with interactions
interaction_trees <- trees[!is.na(Split) & !is.na(parent_1), interaction_trees <- trees[!is.na(Split) & !is.na(parent_1), # nolint: object_usage_linter
c('Feature', paste0('parent_feat_', 1:(input_max_depth - 1))), c('Feature', paste0('parent_feat_', 1:(input_max_depth - 1))),
with = FALSE] with = FALSE]
interaction_trees_split <- split(interaction_trees, seq_len(nrow(interaction_trees))) interaction_trees_split <- split(interaction_trees, seq_len(nrow(interaction_trees)))

View File

@ -10,7 +10,7 @@ xgb.ggplot.importance(
top_n = NULL, top_n = NULL,
measure = NULL, measure = NULL,
rel_to_first = FALSE, rel_to_first = FALSE,
n_clusters = c(1:10), n_clusters = seq_len(10),
... ...
) )

View File

@ -26,7 +26,7 @@ print(paste("weight statistics: wpos=", sumwpos, "wneg=", sumwneg, "ratio=", sum
xgboost.time <- list() xgboost.time <- list()
threads <- c(1, 2, 4, 8, 16) threads <- c(1, 2, 4, 8, 16)
for (i in 1:length(threads)){ for (i in seq_along(threads)){
thread <- threads[i] thread <- threads[i]
xgboost.time[[i]] <- system.time({ xgboost.time[[i]] <- system.time({
xgmat <- xgb.DMatrix(data, label = label, weight = weight, missing = -999.0) xgmat <- xgb.DMatrix(data, label = label, weight = weight, missing = -999.0)

View File

@ -13,7 +13,7 @@ y <- as.integer(y) - 1 # xgboost take features in [0,numOfClass)
x <- rbind(train[, -ncol(train)], test) x <- rbind(train[, -ncol(train)], test)
x <- as.matrix(x) x <- as.matrix(x)
x <- matrix(as.numeric(x), nrow(x), ncol(x)) x <- matrix(as.numeric(x), nrow(x), ncol(x))
trind <- 1:length(y) trind <- seq_along(y)
teind <- (nrow(train) + 1):nrow(x) teind <- (nrow(train) + 1):nrow(x)
# Set necessary parameter # Set necessary parameter
@ -43,6 +43,6 @@ pred <- t(pred)
# Output submission # Output submission
pred <- format(pred, digits = 2, scientific = FALSE) # shrink the size of submission pred <- format(pred, digits = 2, scientific = FALSE) # shrink the size of submission
pred <- data.frame(1:nrow(pred), pred) pred <- data.frame(seq_len(nrow(pred)), pred)
names(pred) <- c('id', paste0('Class_', 1:9)) names(pred) <- c('id', paste0('Class_', 1:9))
write.csv(pred, file = 'submission.csv', quote = FALSE, row.names = FALSE) write.csv(pred, file = 'submission.csv', quote = FALSE, row.names = FALSE)

View File

@ -30,7 +30,7 @@ require(xgboost)
require(methods) require(methods)
require(data.table) require(data.table)
require(magrittr) require(magrittr)
train <- fread('data/train.csv', header = T, stringsAsFactors = FALSE) train <- fread('data/train.csv', header = TRUE, stringsAsFactors = FALSE)
test <- fread('data/test.csv', header = TRUE, stringsAsFactors = FALSE) test <- fread('data/test.csv', header = TRUE, stringsAsFactors = FALSE)
``` ```
> `magrittr` and `data.table` are here to make the code cleaner and much more rapid. > `magrittr` and `data.table` are here to make the code cleaner and much more rapid.

View File

@ -67,6 +67,5 @@ noquote(paste0("Total linting issues found: ", issues_found))
if (issues_found > 0L) { if (issues_found > 0L) {
print(results) print(results)
quit(save = "no", status = 1L)
} }
quit(save = "no", status = 1L)