Формула вопроса при прогнозировании с использованием 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 объект

Другие вопросы по тегам