>>>>> Tim Taylor
>>>>> on Mon, 09 Mar 2026 11:53:18 +0000 writes:
> I appreciate there are likely many places where calling a stats function
via `::` and without the stats package being loaded could be problematic but
would R core have any interest in adapting functions to accommodate this where
possible?
For my part (just one R corer): No, not at all.
Using R without 'stats' is like "<your favorite> without
<your_other_fav>", e.g., like doing math without the (greek
Sigma) summation sign: possible, but rarely a good idea and just
complicating things unnecessarily.
Martin
> The example I ran in to today can be seen below:
> ex <- function() {
> counts <- c(18,17,15,20,10,20,25,13,12)
> outcome <- gl(3,1,9)
> treatment <- gl(3,3)
> stats::glm(counts ~ outcome + treatment, family = "poisson")
> }
> tools::R(ex)
> #>
> #> Call: stats::glm(formula = counts ~ outcome + treatment, family =
"poisson")
> #>
> #> Coefficients:
> #> (Intercept) outcome2 outcome3 treatment2 treatment3
> #> 3.045e+00 -4.543e-01 -2.930e-01 6.972e-16 8.237e-16
> #>
> #> Degrees of Freedom: 8 Total (i.e. Null); 4 Residual
> #> Null Deviance: 10.58
> #> Residual Deviance: 5.129 AIC: 56.76
> tools::R(ex, env=c("R_DEFAULT_PACKAGES=NULL"))
> #> Error: error in inferior call:
> #> object 'poisson' of mode 'function' was not found
> The second call fails due to the following line in glm:
> if (is.character(family))
> family <- get(family, mode = "function", envir = parent.frame())
> A non-breaking patch (AFAICT) could add an additional branch that
explicitly searches a lookup of functions in the stats package if the above
call to `get` failed.
> Again I understand this could very much be a case of, "don't do that",
but ...
> Regards
> Tim
> ______________________________________________
> [email protected] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel