[R] formula mungeing
Koenker, Roger W
rkoenker @end|ng |rom ||||no|@@edu
Fri Oct 23 15:32:42 CEST 2020
Suppose I have a formula like this:
f <- y ~ qss(x, lambda = lambdas[1]) + qss(z, lambdas[2]) + s
I’d like a function, g(lambdas, f) that would take g(c(2,3), f) and produce the new
formula:
y ~ qss(x, lambda = 2) + qss(z, 3) + s
For only two qss terms I have been using
g <- function(lambdas, f){
F <- deparse(f)
F <- gsub("lambdas\\[1\\]",lambdas[1],F)
F <- gsub("lambdas\\[2\\]",lambdas[2],F)
formula(F)
}
but this is ugly and doesn’t extend nicely to more qss terms. Isn’t there some
bquote() magic that can be invoked? Or something else entirely?
More information about the R-help
mailing list