Compatibility with mlr3?
Could you possibly advise as to whether StatET should be compatible with mlr3 (which is based on R6 objects)? This is on Windows 10. It is exactly the same behavior under multiple recent R releases, multiple recent StatET releases (including the latest integration build of StatET 4.6), multiple MLR3 releases (this is the current code as of today), and multiple Eclipse and Java releases.
It does not occur using R alone without StatET.
As a simple example, when I run the following code based on one of the mlr3 examples I get errors (shown further below), which repeat endlessly from then on, on evaluation of every top level line. Therefore, perhaps they are being triggered by (though not the fault of) StatET?
I have posted it also to https://github.com/mlr-org/mlr3/issues/850#top .
SAMPLE CODE TO REPRODUCE THAT SHOULD WORK WITHOUT ERROR
library(mlr3)
options(error = traceback)
task_penguins = as_task_classif(species ~ ., data = palmerpenguins::penguins)
learner = lrn("classif.rpart", cp = .01)
split = partition(task_penguins, ratio = 0.67)
lgr::get_logger("mlr3")$set_threshold("trace")
learner$train(task_penguins, split$train_set)
RESULTING OUTPUT
> library(mlr3)
> options(error = traceback)
> task_penguins = as_task_classif(species ~ ., data = palmerpenguins::penguins)
> learner = lrn("classif.rpart", cp = .01)
> split = partition(task_penguins, ratio = 0.67)
> lgr::get_logger("mlr3")$set_threshold("trace")
> learner$train(task_penguins, split$train_set)
DEBUG [04:17:54.833] [mlr3] Skip subsetting of task 'palmerpenguins::penguins'
DEBUG [04:17:54.837] [mlr3] Calling train method of Learner 'classif.rpart' on task 'palmerpenguins::penguins' with 344 observations {learner: <LearnerClassifRpart/LearnerClassif/Learner/R6>}
DEBUG [04:17:54.853] [mlr3] Learner 'classif.rpart' on task 'palmerpenguins::penguins' succeeded to train a model {learner: <LearnerClassifRpart/LearnerClassif/Learner/R6>, result: <rpart>, messages: ()}
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#925
2: .__Task__weights(self = self, private = private, super = super,
rhs = rhs) at Task.R#924
1: (function (rhs)
.__Task__weights(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#887
2: .__Task__groups(self = self, private = private, super = super,
rhs = rhs) at Task.R#886
1: (function (rhs)
.__Task__groups(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#905
2: .__Task__order(self = self, private = private, super = super,
rhs = rhs) at Task.R#904
1: (function (rhs)
.__Task__order(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#863
2: .__Task__strata(self = self, private = private, super = super,
rhs = rhs) at Task.R#862
1: (function (rhs)
.__Task__strata(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#925
2: .__Task__weights(self = self, private = private, super = super,
rhs = rhs) at Task.R#924
1: (function (rhs)
.__Task__weights(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#887
2: .__Task__groups(self = self, private = private, super = super,
rhs = rhs) at Task.R#886
1: (function (rhs)
.__Task__groups(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#905
2: .__Task__order(self = self, private = private, super = super,
rhs = rhs) at Task.R#904
1: (function (rhs)
.__Task__order(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#863
2: .__Task__strata(self = self, private = private, super = super,
rhs = rhs) at Task.R#862
1: (function (rhs)
.__Task__strata(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#925
2: .__Task__weights(self = self, private = private, super = super,
rhs = rhs) at Task.R#924
1: (function (rhs)
.__Task__weights(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#887
2: .__Task__groups(self = self, private = private, super = super,
rhs = rhs) at Task.R#886
1: (function (rhs)
.__Task__groups(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#905
2: .__Task__order(self = self, private = private, super = super,
rhs = rhs) at Task.R#904
1: (function (rhs)
.__Task__order(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#863
2: .__Task__strata(self = self, private = private, super = super,
rhs = rhs) at Task.R#862
1: (function (rhs)
.__Task__strata(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#925
2: .__Task__weights(self = self, private = private, super = super,
rhs = rhs) at Task.R#924
1: (function (rhs)
.__Task__weights(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#887
2: .__Task__groups(self = self, private = private, super = super,
rhs = rhs) at Task.R#886
1: (function (rhs)
.__Task__groups(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#905
2: .__Task__order(self = self, private = private, super = super,
rhs = rhs) at Task.R#904
1: (function (rhs)
.__Task__order(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#863
2: .__Task__strata(self = self, private = private, super = super,
rhs = rhs) at Task.R#862
1: (function (rhs)
.__Task__strata(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#925
2: .__Task__weights(self = self, private = private, super = super,
rhs = rhs) at Task.R#924
1: (function (rhs)
.__Task__weights(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#887
2: .__Task__groups(self = self, private = private, super = super,
rhs = rhs) at Task.R#886
1: (function (rhs)
.__Task__groups(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#905
2: .__Task__order(self = self, private = private, super = super,
rhs = rhs) at Task.R#904
1: (function (rhs)
.__Task__order(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#863
2: .__Task__strata(self = self, private = private, super = super,
rhs = rhs) at Task.R#862
1: (function (rhs)
.__Task__strata(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#925
2: .__Task__weights(self = self, private = private, super = super,
rhs = rhs) at Task.R#924
1: (function (rhs)
.__Task__weights(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#887
2: .__Task__groups(self = self, private = private, super = super,
rhs = rhs) at Task.R#886
1: (function (rhs)
.__Task__groups(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#905
2: .__Task__order(self = self, private = private, super = super,
rhs = rhs) at Task.R#904
1: (function (rhs)
.__Task__order(self = self, private = private, super = super,
rhs = rhs))()
Error: The backend of Task 'palmerpenguins::penguins' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.
5: stop(simpleError(str_wrap(sprintf(msg, ...), width = wrap), call = NULL))
4: stopf("The backend of Task '%s' has been removed. Set `store_backends` to `TRUE` during model fitting to conserve it.",
task$id) at assertions.R#302
3: assert_has_backend(self) at Task.R#863
2: .__Task__strata(self = self, private = private, super = super,
rhs = rhs) at Task.R#862
1: (function (rhs)
.__Task__strata(self = self, private = private, super = super,
rhs = rhs))()