Я пишу функцию, которая принимает две переменные и отдельно регрессирует каждую из них на набор элементов управления, выраженных в виде односторонней формулы. Прямо сейчас я использую следующее, чтобы создать формулу для одной из регрессий, но она выглядит немного взломанной:
foo <- function(x, y, controls) {
cl <- match.call()
xn <- cl[["x"]]
xf <- as.formula(paste(xn, deparse(controls)))
}
Я бы предпочел сделать это, используя update.formula()
, но, конечно, update.formula(controls, x ~ .)
и update.formula(controls, as.name(x) ~ .)
не работают. Что мне делать?