我正在迭代地估计许多回归并记录每个估计的系数摘要。有时,数据并不好,但我想记录结果。
当数据不好时,lm.fit会为一些回归者踢回NA,出于某种原因,在coef()
summary()
时,它不显示
当我进行以下调用时(简化了可重复性)
summary(lm(y ~., data=data.frame(y = 1:30, x1 = rep(0, 30), x2 = 1:30*2)))
作为输出的一部分,我得到了
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.595e-15 5.129e-16 -5.059e+00 2.36e-05 ***
x1 NA NA NA NA
x2 5.000e-01 1.445e-17 3.461e+16 < 2e-16 ***
然而......当我打电话来获得系数矩阵时......
summary(lm(y ~., data=data.frame(y = 1:30, x1 = rep(0, 30), x2 = 1:30*2)))$coefficients
我获得了
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.594535e-15 5.128850e-16 -5.058707e+00 2.362068e-05
x2 5.000000e-01 1.444508e-17 3.461387e+16 0.000000e+00
现实情况是,我想在输出中使用NA的系数,因为我正在构建其他对象,这会导致不匹配尺寸和错误对齐的问题。
显然,这是一个说明问题的玩具示例。我的实际问题是在更大的范围内有更多的系数,这个问题在不同的时间出现不同的系数。