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 に答える