Skip to content

Commit c50758d

Browse files
committed
Merge branch 'master' of github.com:DoubleML/doubleml-for-r into 0.4.X
2 parents e14295a + dcd73a2 commit c50758d

21 files changed

+94
-83
lines changed

.github/workflows/rcheck.yml

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,18 @@ jobs:
1616
R-CMD-check:
1717
runs-on: ${{ matrix.config.os }}
1818

19-
name: ${{ matrix.config.os }} (R ${{ matrix.config.r }}; mlr3 ${{ matrix.config.mlr3 }})
19+
name: ${{ matrix.config.os }} (R ${{ matrix.config.r }}; mlr3 ${{ matrix.config.mlr3 }}; cran_no_glmnet ${{ matrix.config.cran_no_glmnet }})
2020

2121
strategy:
2222
fail-fast: false
2323
matrix:
2424
config:
25-
- {os: windows-latest, r: 'release', mlr3: 'release'}
26-
- {os: macOS-latest, r: 'release', mlr3: 'release'}
27-
- {os: ubuntu-20.04, r: 'release', mlr3: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
28-
- {os: ubuntu-20.04, r: 'devel', mlr3: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
29-
- {os: ubuntu-20.04, r: 'devel', mlr3: 'dev', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
25+
- {os: windows-latest, r: 'release', mlr3: 'release', cran_no_glmnet: 'false'}
26+
- {os: macOS-latest, r: 'release', mlr3: 'release', cran_no_glmnet: 'false'}
27+
- {os: ubuntu-20.04, r: 'release', mlr3: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest", cran_no_glmnet: 'false'}
28+
- {os: ubuntu-20.04, r: 'devel', mlr3: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest", cran_no_glmnet: 'false'}
29+
- {os: ubuntu-20.04, r: 'devel', mlr3: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest", cran_no_glmnet: 'true'}
30+
- {os: ubuntu-20.04, r: 'devel', mlr3: 'dev', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest", cran_no_glmnet: 'false'}
3031

3132
env:
3233
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
@@ -80,15 +81,30 @@ jobs:
8081
shell: Rscript {0}
8182

8283
- name: Check
83-
if: runner.os != 'macOS'
84+
if: |
85+
runner.os != 'macOS' &&
86+
matrix.config.cran_no_glmnet == 'false'
8487
env:
8588
_R_CHECK_CRAN_INCOMING_REMOTE_: false
8689
NOT_CRAN: false
8790
run: rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check")
8891
shell: Rscript {0}
8992

9093
- name: Check
91-
if: runner.os == 'macOS'
94+
if: matrix.config.cran_no_glmnet == 'true'
95+
env:
96+
_R_CHECK_CRAN_INCOMING_REMOTE_: false
97+
_R_CHECK_FORCE_SUGGESTS_: false
98+
NOT_CRAN: false
99+
run: |
100+
remove.packages("glmnet")
101+
rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran", "--ignore-vignettes"), build_args = c("--no-build-vignettes"), error_on = "warning", check_dir = "check")
102+
shell: Rscript {0}
103+
104+
- name: Check
105+
if: |
106+
runner.os == 'macOS' &&
107+
matrix.config.cran_no_glmnet == 'false'
92108
env:
93109
_R_CHECK_CRAN_INCOMING_REMOTE_: false
94110
run: rcmdcheck::rcmdcheck(args = c("--no-manual"), error_on = "warning", check_dir = "check")

tests/testthat/test-double_ml_data.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ test_that("Unit tests for DoubleMLData", {
371371
d_cols = d_indx,
372372
z_cols = z_indx)
373373

374-
msg12 = "Assertion on 'treatment_var' failed: Must be a subset of \\{'d'\\}, but is \\{'X1'\\}."
374+
msg12 = "Assertion on 'treatment_var' failed: Must be a subset of \\{'d'\\}"
375375
expect_error(D11$set_data_model(X_cols1[1]),
376376
regexp = msg12)
377377
}

tests/testthat/test-double_ml_data_active_bindings.R

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ test_that("x_cols setter", {
1818

1919
msg = paste0(
2020
"Assertion on 'x_cols' failed: Must be a subset of",
21-
" \\{'X1','X2','X3','X4','X5','X6','X7','X8','X9','X10','X11','X12','X13','X14','X15','X16','X17','X18','X19','X20','y','d'\\},",
22-
" but is \\{'X1','X11','A13'\\}.")
21+
" \\{'X1','X2','X3','X4','X5','X6','X7','X8','X9','X10','X11','X12','X13','X14','X15','X16','X17','X18','X19','X20','y','d'\\}")
2322
expect_error(dml_data$x_cols <- c("X1", "X11", "A13"),
2423
regexp = msg)
2524

@@ -55,15 +54,13 @@ test_that("d_cols setter", {
5554

5655
msg = paste0(
5756
"Assertion on 'd_cols' failed: Must be a subset of",
58-
" \\{'X1','X2','X3','X4','X5','X6','X7','y','d1','d2'\\},",
59-
" but is \\{'d1','d13'\\}.")
57+
" \\{'X1','X2','X3','X4','X5','X6','X7','y','d1','d2'\\}")
6058
expect_error(dml_data$d_cols <- c("d1", "d13"),
6159
regexp = msg)
6260

6361
msg = paste0(
6462
"Assertion on 'd_cols' failed: Must be a subset of",
65-
" \\{'X1','X2','X3','X4','X5','X6','X7','y','d1','d2'\\},",
66-
" but is \\{'d13'\\}.")
63+
" \\{'X1','X2','X3','X4','X5','X6','X7','y','d1','d2'\\}")
6764
expect_error(dml_data$d_cols <- "d13",
6865
regexp = msg)
6966

@@ -99,15 +96,13 @@ test_that("z_cols setter", {
9996

10097
msg = paste0(
10198
"Assertion on 'z_cols' failed: Must be a subset of",
102-
" \\{'X1','X2','X3','X4','z1','z2','z3','y','d1','d2'\\},",
103-
" but is \\{'z1','a13'\\}.")
99+
" \\{'X1','X2','X3','X4','z1','z2','z3','y','d1','d2'\\}")
104100
expect_error(dml_data$z_cols <- c("z1", "a13"),
105101
regexp = msg)
106102

107103
msg = paste0(
108104
"Assertion on 'z_cols' failed: Must be a subset of",
109-
" \\{'X1','X2','X3','X4','z1','z2','z3','y','d1','d2'\\},",
110-
" but is \\{'a13'\\}.")
105+
" \\{'X1','X2','X3','X4','z1','z2','z3','y','d1','d2'\\}")
111106
expect_error(dml_data$z_cols <- "a13",
112107
regexp = msg)
113108

@@ -151,8 +146,7 @@ test_that("y_col setter", {
151146

152147
msg = paste0(
153148
"Assertion on 'y_col' failed: Must be a subset of",
154-
" \\{'X1','X2','X3','X4','X5','X6','X7','y','y123','d'\\},",
155-
" but is \\{'d13'\\}.")
149+
" \\{'X1','X2','X3','X4','X5','X6','X7','y','y123','d'\\}")
156150
expect_error(dml_data$y_col <- "d13",
157151
regexp = msg)
158152

@@ -181,15 +175,13 @@ test_that("cluster_cols setter", {
181175

182176
msg = paste0(
183177
"Assertion on 'cluster_cols' failed: Must be a subset of",
184-
" \\{'X1','X2','X3','X4','X5','y','d1','d2','c1','c2'\\},",
185-
" but is \\{'c1','c13'\\}.")
178+
" \\{'X1','X2','X3','X4','X5','y','d1','d2','c1','c2'\\}")
186179
expect_error(dml_data$cluster_cols <- c("c1", "c13"),
187180
regexp = msg)
188181

189182
msg = paste0(
190183
"Assertion on 'cluster_cols' failed: Must be a subset of",
191-
" \\{'X1','X2','X3','X4','X5','y','d1','d2','c1','c2'\\},",
192-
" but is \\{'c13'\\}.")
184+
" \\{'X1','X2','X3','X4','X5','y','d1','d2','c1','c2'\\}")
193185
expect_error(dml_data$cluster_cols <- "c13",
194186
regexp = msg)
195187

@@ -239,7 +231,7 @@ test_that("Tests for use_other_treat_as_covariate", {
239231
expect_error(dml_data$use_other_treat_as_covariate <- 5,
240232
regexp = msg)
241233

242-
msg = "Assertion on 'treatment_var' failed: Must be a subset of \\{'d1','d2'\\}, but is \\{'d3'\\}."
234+
msg = "Assertion on 'treatment_var' failed: Must be a subset of \\{'d1','d2'\\}"
243235
expect_error(dml_data$set_data_model("d3"),
244236
regexp = msg)
245237

tests/testthat/test-double_ml_iivm.R

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ lgr::get_logger("mlr3")$set_threshold("warn")
77
on_cran = !identical(Sys.getenv("NOT_CRAN"), "true")
88
if (on_cran) {
99
test_cases = expand.grid(
10-
learner = "cv_glmnet",
10+
learner = "rpart",
1111
dml_procedure = "dml2",
1212
score = "LATE",
13-
trimming_threshold = c(0),
13+
trimming_threshold = c(1e-5),
1414
stringsAsFactors = FALSE)
1515
} else {
1616
test_cases = expand.grid(
1717
learner = "cv_glmnet",
1818
dml_procedure = c("dml1", "dml2"),
1919
score = "LATE",
20-
trimming_threshold = c(0),
20+
trimming_threshold = c(1e-5),
2121
stringsAsFactors = FALSE)
2222
}
2323

@@ -35,7 +35,8 @@ patrick::with_parameters_test_that("Unit tests for IIVM:",
3535
ml_g = learner_pars$ml_g$clone(),
3636
ml_m = learner_pars$ml_m$clone(),
3737
ml_r = learner_pars$ml_r$clone(),
38-
dml_procedure = dml_procedure, score = score)
38+
dml_procedure = dml_procedure, score = score,
39+
trimming_threshold = trimming_threshold)
3940
theta = iivm_hat$coef
4041
se = iivm_hat$se
4142

@@ -45,7 +46,8 @@ patrick::with_parameters_test_that("Unit tests for IIVM:",
4546
n_folds = 5, smpls = iivm_hat$smpls,
4647
all_preds = iivm_hat$all_preds,
4748
score = score,
48-
bootstrap = "normal", n_rep_boot = n_rep_boot)$boot_coef
49+
bootstrap = "normal", n_rep_boot = n_rep_boot,
50+
trimming_threshold = trimming_threshold)$boot_coef
4951

5052
set.seed(3141)
5153
double_mliivm_obj = DoubleMLIIVM$new(

tests/testthat/test-double_ml_iivm_user_score.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ score_fct = function(y, z, d, g0_hat, g1_hat, m_hat, r0_hat,
2323
on_cran = !identical(Sys.getenv("NOT_CRAN"), "true")
2424
if (on_cran) {
2525
test_cases = expand.grid(
26-
learner = "regr.glmnet",
27-
learner_m = "classif.glmnet",
26+
learner = "regr.rpart",
27+
learner_m = "classif.rpart",
2828
dml_procedure = "dml2",
2929
trimming_threshold = c(0),
3030
stringsAsFactors = FALSE)

tests/testthat/test-double_ml_irm.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ lgr::get_logger("mlr3")$set_threshold("warn")
77
on_cran = !identical(Sys.getenv("NOT_CRAN"), "true")
88
if (on_cran) {
99
test_cases = expand.grid(
10-
learner = "cv_glmnet",
10+
learner = "rpart",
1111
dml_procedure = "dml1",
1212
score = "ATTE",
1313
trimming_threshold = 0,

tests/testthat/test-double_ml_irm_user_score.R

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,18 @@ score_fct = function(y, d, g0_hat, g1_hat, m_hat, smpls) {
2222
on_cran = !identical(Sys.getenv("NOT_CRAN"), "true")
2323
if (on_cran) {
2424
test_cases = expand.grid(
25-
learner = "regr.glmnet",
26-
learner_m = "classif.glmnet",
25+
learner = "regr.rpart",
26+
learner_m = "classif.rpart",
2727
dml_procedure = "dml2",
28-
trimming_threshold = 0,
28+
trimming_threshold = 1e-5,
2929
stringsAsFactors = FALSE)
3030
test_cases[".test_name"] = apply(test_cases, 1, paste, collapse = "_")
3131
} else {
3232
test_cases = expand.grid(
3333
learner = "regr.glmnet",
3434
learner_m = "classif.glmnet",
3535
dml_procedure = c("dml1", "dml2"),
36-
trimming_threshold = c(0, 0.01),
36+
trimming_threshold = c(1e-5, 0.01),
3737
stringsAsFactors = FALSE)
3838
test_cases[".test_name"] = apply(test_cases, 1, paste, collapse = "_")
3939
}

tests/testthat/test-double_ml_pliv.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ lgr::get_logger("mlr3")$set_threshold("warn")
77
on_cran = !identical(Sys.getenv("NOT_CRAN"), "true")
88
if (on_cran) {
99
test_cases = expand.grid(
10-
learner = "regr.glmnet",
10+
learner = "regr.lm",
1111
dml_procedure = "dml1",
1212
score = "partialling out",
1313
stringsAsFactors = FALSE)

tests/testthat/test-double_ml_pliv_one_way_cluster.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ lgr::get_logger("mlr3")$set_threshold("warn")
55
on_cran = !identical(Sys.getenv("NOT_CRAN"), "true")
66
if (on_cran) {
77
test_cases = expand.grid(
8-
learner = "regr.glmnet",
8+
learner = "regr.lm",
99
dml_procedure = "dml1",
1010
score = "partialling out",
1111
stringsAsFactors = FALSE)

tests/testthat/test-double_ml_pliv_partial_functional_initializer.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ lgr::get_logger("mlr3")$set_threshold("warn")
55
on_cran = !identical(Sys.getenv("NOT_CRAN"), "true")
66
if (on_cran) {
77
test_cases = expand.grid(
8-
learner = "regr.cv_glmnet",
8+
learner = "regr.lm",
99
dml_procedure = "dml2",
1010
score = "partialling out",
1111
stringsAsFactors = FALSE)

0 commit comments

Comments
 (0)