Skip to content

Commit e2f401c

Browse files
committed
adapted to dummy encoding fix in mboost: 679cd68cbe15b88f16e650d54177f7bea3e58e5a
1 parent 248778d commit e2f401c

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

R/baselearners.R

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2339,21 +2339,22 @@ X_olsc <- function(mf, vary, args) {
23392339
fm <- paste("~ ", paste(colnames(mf)[colnames(mf) != vary],
23402340
collapse = "+"), sep = "")
23412341
fac <- sapply(mf[colnames(mf) != vary], is.factor)
2342+
DUMMY <- FALSE
23422343
if (any(fac)){
23432344
if (!is.list(args$contrasts.arg)){
23442345
## first part needed to prevent warnings from calls such as
23452346
## contrasts.arg = contr.treatment(4, base = 1):
2346-
if (is.character(args$contrasts.arg) &&
2347-
args$contrasts.arg == "contr.dummy"){
2347+
if (DUMMY <- (is.character(args$contrasts.arg) &&
2348+
args$contrasts.arg == "contr.dummy")){
23482349
if (!args$intercept)
23492350
stop('"contr.dummy" can only be used with ',
23502351
sQuote("intercept = TRUE"))
23512352
fm <- paste(fm, "-1")
2352-
} else {
2353-
txt <- paste("list(", paste(colnames(mf)[colnames(mf) != vary][fac],
2353+
args$contrasts.arg <- "contr.treatment"
2354+
}
2355+
txt <- paste("list(", paste(colnames(mf)[colnames(mf) != vary][fac],
23542356
"= args$contrasts.arg", collapse = ", "),")")
2355-
args$contrasts.arg <- eval(parse(text=txt))
2356-
}
2357+
args$contrasts.arg <- eval(parse(text=txt))
23572358
} else {
23582359
## if contrasts are given as list check if "contr.dummy" is specified
23592360
if (any(args$contrasts.arg == "contr.dummy"))
@@ -2366,7 +2367,7 @@ X_olsc <- function(mf, vary, args) {
23662367
args$contrasts.arg <- NULL
23672368
}
23682369
X <- model.matrix(as.formula(fm), data = mf, contrasts.arg = args$contrasts.arg)
2369-
if (!is.null(args$contrasts.arg) && args$contrasts.arg == "contr.dummy")
2370+
if (DUMMY)
23702371
attr(X, "contrasts") <- lapply(attr(X, "contrasts"),
23712372
function(x) x <- "contr.dummy")
23722373
contr <- attr(X, "contrasts")

0 commit comments

Comments
 (0)