簡體   English   中英

從數據/系數創建lm對象

[英]Create lm object from data/coefficients

有沒有人知道在給定數據集和系數的情況下可以創建lm對象的函數?

我對此很感興趣,因為我開始玩貝葉斯模型平均(BMA),我希望能夠從bicreg的結果中創建一個lm對象。 我想訪問所有漂亮的通用lm函數,如診斷繪圖,預測,cv.lm等。

如果您非常確定不存在這樣的功能,那么知道它也會非常有用!

library(BMA)
mtcars_y <- mtcars[, 1] #mpg
mtcars_x <- as.matrix(mtcars[,-1])
res <- bicreg(mtcars_x, mtcars_y)

summary(res)
res$postmean # bma coefficients

# The approximate form of the function
# I'm looking for
lmObject <- magicFunction(data=mtcars, coefficients=res$postmean)

沒有我知道的功能就是這樣做。 當然可以制作一個。 你的magicFunction需要做的就是創建一個包含元素的列表:

> names(fakeModel)
[1] "coefficients"  "residuals"     "effects"       "rank"         
 [5] "fitted.values" "assign"        "qr"            "df.residual"  
 [9] "xlevels"       "call"          "terms"         "model"  

然后把它變成一個lm對象

> class(fakeModel) <- c("lm")

我只想說,我認為這是一個壞主意。 可以這么說,您應用的泛型函數將適用於bicreg對象。 例如,您如何解釋AIC(fakeModel)?

您最好創建自己的功能來進行診斷和預測。

看起來你可以照常計算你的lm對象,然后通過修改你的lm()結果的$coefficients屬性來修改$coefficients

有關詳細信息,請參閱此問題和結果:

http://tolstoy.newcastle.edu.au/R/e2/help/07/08/24294.html

不確定它對應於你想做什么,不過......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM