You will first need to convert the function call to an expression, then you can modify the expression as appropriate.
Here's a somewhat contrived minimal example: > f <- function(z, ...) match.call() > aaa = f(a=1,2,3) > str(aaa) language f(z = 2, a = 1, 3) > aaa <- as.expression(aaa) > str(aaa) expression(f(z = 2, a = 1, 3)) > aaa[[1]][[1]] <- expression(base::c)[[1]] > str(aaa) expression(base::c(z = 2, a = 1, 3)) > eval(aaa) z a 2 1 3 On Mon, Jun 8, 2020 at 12:12 PM Göran Broström <goran.brost...@umu.se> wrote: > Hello, > > the function 'coxreg' in my package 'eha' is often just a wrapper for > 'coxph' in survival, so I have code like > > if (cox.ph){ > Call <- match.call() > Call[[1]] <- as.name("coxph") > fit <- eval.parent(Call) > return(fit) > } > > which works since eha depends on survival. Now I am thinking of changing > Depends to Imports, and I would like to change the code to > > if (cox.ph){ > Call <- match.call() > Call[[1]] <- as.name("survival::coxph") > fit <- eval.parent(Call) > return(fit) > } > > but this doesn't work, because the function name is turned into > `survival::coxph` (with the backticks) and the evaluation fails. > > How can I solve this? > > Thanks, G, > > ______________________________________________ > R-package-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-package-devel > [[alternative HTML version deleted]] ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel