0

当我尝试使用 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。我该怎么做?

4

1 回答 1

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对象

于 2015-03-29T21:37:23.743 回答