One could define a function that removes all instances of 'survival::' from an expression, returning the fixed up expression, and applying it to all formulae given as arguments to your survival functions. E.g.,
removeDoubleColonSurvival <- function (formula) { doubleColon <- as.name("::") survival <- as.name("survival") fix <- function(expr) { if (is.call(expr) && identical(expr[[1]], doubleColon) && identical(expr[[2]], survival)){ expr <- expr[[3]] } else if (is.call(expr)) { for(i in seq_along(expr)){ expr[[i]] <- fix(expr[[i]]) } } expr } fix(formula) } identical(f(y ~ f(x) + survival::g(x,10) + z), y ~ f(x) + g(x,10) + z) # [1] TRUE -Bill On Mon, Aug 26, 2024 at 7:42 AM Therneau, Terry M., Ph.D. via R-devel < r-devel@r-project.org> wrote: > The survival package makes significant use of the "specials" argument of > terms(), before > calling model.frame; it is part of nearly every modeling function. The > reason is that > strata argments simply have to be handled differently than other things on > the right hand > side. Likewise for tt() and cluster(), though those are much less frequent. > > I now get "bug reports" from the growing segment that believes one should > put > packagename:: in front of every single instance. For instance > fit <- survival::survdiff( survival::Surv(time, status) ~ ph.karno > + > survival::strata(inst), data= survival::lung) > > This fails to give the correct answer because it fools terms(formula, > specials= > "strata"). I've stood firm in my response of "that's your bug, not > mine", but I begin > to believe I am swimming uphill. One person responded that it was > company policy to > qualify everything. > > I don't see an easy way to fix survival, and even if I did it would be a > tremendous amout > of work. What are other's thoughts? > > Terry > > > > -- > > Terry M Therneau, PhD > Department of Quantitative Health Sciences > Mayo Clinic > thern...@mayo.edu > > "TERR-ree THUR-noh" > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel