2011-12-13 69 views
0

在解決這個問題的過程中:Interference between lme4 and nlme packages OP和I確定在lme4::lmList的調用中在log()中包裝響應向量導致lmList失敗。爲什麼log()語句會導致lmList失敗?

例如,

my.lmList.model <- lmList(log(response) ~ log(predictor) | group, mydata) 

給出了迴應

Error in eval(expr, envir, enclos) : object 'response' not found 

但如果你第一次登錄的響應和預測變量,它工作正常,即

mydata$log.response <- log(mydata$response) 
mydata$log.predictor <- log(mydata$predictor) 
my.new.lmList.model <- lmList(log.response. ~ log.predictor | group, mydata) 

有人能解釋爲什麼包裝第一個例子中的log()中的響應不起作用?在我看來(至少在直覺上)它應該。

+0

聽起來像是環境/參考問題。你是否嘗試了與香草lm'相同的技巧,檢查了lme4包中的詳細文檔等? –

回答

0

我不確定你想要什麼答案。 「爲什麼」是因爲這就是lmList設計的功能。您已經知道解決方法。你想知道如何重寫lmList,讓它在這種情況下不會失敗嗎?這不是一個簡單的功能。在仔細閱讀文檔並查看函數以查看這是否爲有意行爲之後,最好編寫包作者。

相關問題