显示lm语句中使用的前几个obs

时间:2017-02-03 17:38:38

标签: r lm

让我说我有一个公式(例如myformula <- y ~ x1 + x2)和一个数据集d。出于诊断目的,我想看看最终在线性回归中使用的观察结果(r <- lm(myformula, data=d))。这基本上需要根据d构建一个带有y,x1和x2的数据帧,并删除所有缺少数据的观察结果(complete.obs)。或者,或许,操纵r对象的内容?

建议表示赞赏。

/ IAW

1 个答案:

答案 0 :(得分:2)

在尝试自己动手之前,先看一下模型对象(使用str(r)在那里找到一个高峰)或者在文档中查找相关位。来自?lm

  

model, x, y, qr   逻辑值。如果TRUE返回拟合的相应组成部分(模型框架,模型矩阵,响应,QR分解)。

由于默认情况下model为真,我们所要做的就是在结果中查找它。文档的部分描述了返回的对象:

  

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 = TRUE调用中设置lm,然后查看{{ 1}}。