J'écris une fonction qui prend deux variables et les régresse séparément sur un ensemble de contrôles exprimé comme une formule unilatérale. En ce moment, j'utilise ce qui suit pour faire la formule pour l'une des régressions, mais il se sent un peu piraté-up:Utilisation des arguments de fonction dans update.formula
foo <- function(x, y, controls) {
cl <- match.call()
xn <- cl[["x"]]
xf <- as.formula(paste(xn, deparse(controls)))
}
je préférerais le faire en utilisant update.formula()
, mais bien sûr update.formula(controls, x ~ .)
et update.formula(controls, as.name(x) ~ .)
ne fonctionne pas. Que devrais-je faire?
Je me demande s'il y a une meilleure réponse huit ans plus tard, basée sur des quosures ou le paquet rlang en général? – rcorty