Формула вопроса при прогнозировании с использованием LMER
Я получаю следующую ошибку, когда я пытаюсь предсказать, используя lmer
> predict(mm1, newdata = TEST)
Error in terms.formula(formula(x, fixed.only = TRUE)) :
'.' in formula and no 'data' argument
Вот как выглядит моя формула
> formula(mm1)
log_bid_price ~ . - zip_cbsa_name + (1 | zip_cbsa_name)
Я могу суммировать модель, но не могу передать ее функции прогнозирования.
Я хотел бы иметь возможность автоматически генерировать формулу с учетом столбцов матрицы предиктора и затем передавать ее в lmer. Как бы я это сделал?
1 ответ
У вас может быть больше успеха при построении объектов формул, например:
resp <- "log_bid_price"
reserve.coef <- c("zip_cbsa_name")
RHS <- names(data)[-(which(names(data) %in% c(resp, reserve.coef))]
f <- paste0(paste(resp, paste(RHS, collapse="+"), sep= "~"), " + (1 | zip_cbsa_name)")
mm1 <- lmer(f, data= data)
например.
paste0(paste("Y", paste(c("a", "b", "c"), collapse= "+"), sep="~"), "+ (1 | zip_cbsa_name)")
[1] "Y~a+b+c+ (1 | zip_cbsa_name)"
Если вы хотите делать выбор переменных, как вы делаете выбор модели, вы можете повторить это, чтобы получить RHS
объект