Skip to content

Commit 61c7f8e

Browse files
authored
Merge pull request #923 from mlr-org/setattr
perf: use more `setattr()` to avoid copys
2 parents 88c2837 + c070b00 commit 61c7f8e

File tree

3 files changed

+4
-6
lines changed

3 files changed

+4
-6
lines changed

R/PipeOpImputeSample.R

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,7 @@ PipeOpImputeSample = R6Class("PipeOpImputeSample",
7575
# memory usage of count table is larger than memory usage of just the values
7676
return(fvals)
7777
}
78-
model = tab$fvals
79-
attr(model, "probabilities") = tab$N / sum(tab$N)
80-
model
78+
setattr(tab$fvals, "probabilities", tab$N / sum(tab$N))
8179
}
8280
)
8381
)

R/PipeOpLearnerPICVPlus.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ PipeOpLearnerPICVPlus = R6Class("PipeOpLearnerPICVPlus",
197197

198198
quantiles = as.matrix(map_dtr(seq_len(task$nrow), get_quantiles))
199199
quantiles = unname(quantiles)
200-
attr(quantiles, "probs") = c(pv$alpha, 1 - pv$alpha)
200+
setattr(quantiles, "probs", c(pv$alpha, 1 - pv$alpha))
201201

202202
response = map_dbl(seq_len(task$nrow), function(observation) {
203203
stats::quantile(map_dbl(mu_hat, function(fold) {fold[observation, response]}), probs = 0.5)

R/PipeOpLearnerQuantiles.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,8 @@ PipeOpLearnerQuantiles = R6Class("PipeOpLearnerQuantiles",
186186

187187
quantiles = as.matrix(map_dtc(prds, "response"))
188188
unname(quantiles)
189-
attr(quantiles, "probs") = pv$q_vals
190-
attr(quantiles, "response") = pv$q_response
189+
setattr(quantiles, "probs", pv$q_vals)
190+
setattr(quantiles, "response", pv$q_response)
191191

192192
# return quantile PredictionRegr with all requested quantiles
193193
list(as_prediction(as_prediction_data(list(quantiles = quantiles), task = task)))

0 commit comments

Comments
 (0)