Estoy escribiendo una función que toma dos variables y las regresa por separado a cada una de ellas en un conjunto de controles expresados como una fórmula unilateral. En este momento estoy usando lo siguiente para hacer la fórmula para una de las regresiones, pero se siente un poco hackeado-up:Utilizando argumentos de función en update.formula
foo <- function(x, y, controls) {
cl <- match.call()
xn <- cl[["x"]]
xf <- as.formula(paste(xn, deparse(controls)))
}
prefiero hacerlo usando update.formula()
, pero por supuesto update.formula(controls, x ~ .)
y update.formula(controls, as.name(x) ~ .)
no funciona ¿Qué debería estar haciendo?
Me pregunto si hay una respuesta mejor ocho años después, ¿basada en quosures o en el paquete de rlang en general? – rcorty