2016-11-29 81 views
0

數轉換預測假設一個簡單的模型在公式

fit <- lm(log(mpg) ~ cyl + hp, data = mtcars) 

,使我們不得不採取指數

exp(predict(fit, newdata = mtcars)) 

有沒有什麼更好的辦法來做到這一點,然後手動將它預測? ?predict的文檔沒有提供任何有用的提示。

我想,最簡單的辦法是從公式中提取轉換功能

> formula(fit) 
log(mpg) ~ cyl + hp 

我如何檢查是否任何轉換應用到公式的左邊,如果有任何轉變,提取函數的名稱?

回答

1

我不知道是否有幫助,但你可以用這種方式進行測試: 轉換成字符,並檢查它是否與日誌/開方開始和喜歡:

startsWith(as.character((formula(fit))[2]), "log") 

答案真假:

[1] TRUE 

也許這會幫助您自動化您的解決方案?