当我尝试使用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。我该怎么做?
答案 0 :(得分: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
对象