2017-02-03 52 views
0

假設我有一個公式(例如,myformula <- y ~ x1 + x2)和一個數據集d。爲了診斷目的,我想看看最後在我的線性迴歸中使用的觀察結果(r <- lm(myformula, data=d))。這基本上需要根據d建立一個包含y,x1和x2的數據框,並刪除所有缺少數據的觀測數據(complete.obs)。或者,也許,操縱r對象的內容?顯示在語句中使用的第幾個obs

建議讚賞。

/IAW

回答

2

試圖推出自己的之前,看看模型對象(使用str(r)得到什麼是有一個峯值)或查找文檔中的相關位。從?lm

model, x, y, qr 邏輯值。如果TRUE返回擬合的相應分量(模型框架,模型矩陣,響應,QR分解)。

由於model默認爲true,我們所要做的就是在結果中查找它。的文件的價值節描述返回的對象:

y如果被請求的,所使用的響應。

x如果要求,使用的模型矩陣。

model如果請求(默認),使用的模型框架。

現在一個例子:

> mod = lm(mpg ~ disp + I(disp^2), data = mtcars) 
> head(mod$model) 
        mpg disp I(disp^2) 
Mazda RX4   21.0 160  25600 
Mazda RX4 Wag  21.0 160  25600 
Datsun 710  22.8 108  11664 
Hornet 4 Drive 21.4 258  66564 
Hornet Sportabout 18.7 360 129600 
Valiant   18.1 225  50625 

注意,這是嚴格的數據仍然是一個data.frame。如果你想模型矩陣matrix與虛擬變量爲攔截和任何因素,設置x = TRUElm調用,然後看看mod$x