在R,你可能已經用估計log換算因變量的模型:model.frame和更新
mfit <- lm(
formula = log(salary) ~ yrs.service + yrs.since.phd,
data = Salaries
)
那麼你可能想改變模型框架,並呼籲更新改裝模型:
n <- nrow(Salaries)
mfr <- model.frame(mfit)[sample(1:n, size=n, replace=TRUE),]
mfit2 <- update(mfit, data = mfr)
這將導致一個錯誤:
Error in eval(expr, envir, enclos) : object 'salary' not found
的原因是,式仍然具有依賴雜物ble log(salary)
並且模型框架中的變量被稱爲log(salary)
。 R認爲它可以找到salary
,然後打電話給log
。沒有重採樣的情況下會出現同樣的錯誤,這個例子只是說明了爲什麼人們可能想要這樣做。
以上過程來自執行重新採樣行的引導程序包。這是行爲預期,還是它的錯誤?我知道可以通過變換數據參數中的變量來避開它,但是這似乎很煩人和被忽視...
這不是完全相同的統計模型,但你也可以適合'glm(salary〜yrs.service + yrs.since.phd,family = gaussian(link =「log」))' – 2012-04-24 16:05:48