From 0c0eb8a35944e61eb70559d3c5db84c2269ba758 Mon Sep 17 00:00:00 2001 From: simonpcouch Date: Thu, 2 Nov 2023 10:16:55 -0500 Subject: [PATCH] use `rlang::f_lhs()` in favor of `formula[[2]]` --- R/fit_helpers.R | 6 +++--- R/grouped_binomial.R | 2 +- R/misc.R | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/R/fit_helpers.R b/R/fit_helpers.R index 5fd9021df..a54557ce3 100644 --- a/R/fit_helpers.R +++ b/R/fit_helpers.R @@ -7,7 +7,7 @@ form_form <- function(object, control, env, ...) { if (inherits(env$data, "data.frame")) { - check_outcome(eval_tidy(env$formula[[2]], env$data), object) + check_outcome(eval_tidy(rlang::f_lhs(env$formula), env$data), object) } # prob rewrite this as simple subset/levels @@ -53,7 +53,7 @@ form_form <- ) elapsed <- list(elapsed = NA_real_) } - res$preproc <- list(y_var = all.vars(env$formula[[2]])) + res$preproc <- list(y_var = all.vars(rlang::f_lhs(env$formula))) res$elapsed <- elapsed res } @@ -149,7 +149,7 @@ form_xy <- function(object, control, env, control = control, target = target ) - data_obj$y_var <- all.vars(env$formula[[2]]) + data_obj$y_var <- all.vars(rlang::f_lhs(env$formula)) data_obj$x <- NULL data_obj$y <- NULL data_obj$weights <- NULL diff --git a/R/grouped_binomial.R b/R/grouped_binomial.R index 56e38f292..ec14dddc3 100644 --- a/R/grouped_binomial.R +++ b/R/grouped_binomial.R @@ -103,7 +103,7 @@ glm_grouped <- function(formula, data, weights, ...) { data <- data[, all_cols, drop = FALSE] data$..weights <- weights # Reconstruct the new data format (made below) to the grouped formula format - formula[[2]] <- rlang::call2("cbind", !!!rlang::syms(rev(lvls))) + rlang::f_lhs(formula) <- rlang::call2("cbind", !!!rlang::syms(rev(lvls))) data <- data %>% diff --git a/R/misc.R b/R/misc.R index 4d3aad198..eb4e30a3c 100644 --- a/R/misc.R +++ b/R/misc.R @@ -260,7 +260,7 @@ levels_from_formula <- function(f, dat) { if (inherits(dat, "tbl_spark")) { res <- NULL } else { - res <- levels(eval_tidy(f[[2]], dat)) + res <- levels(eval_tidy(rlang::f_lhs(f), dat)) } res }