R:使用具有重复数的列表的鲁棒线性回归

时间:2016-02-19 12:15:18

标签: r regression linear-regression

我正在使用像这样的rlm模型。

fit=rlm(log(y) ~ x  + z)

Z是包含所有1的列表。我收到错误Error in rlm.default(x, y, weights, method = method, wt.method = wt.method, : 'x' is singular: singular fits are not implemented in 'rlm'

是否等同于使用fit=rlm(log(y) ~ x + 1)

1 个答案:

答案 0 :(得分:2)

是的,它等同于使用rlm(log(y) ~ x + 1),实际上最好只使用rlm(log(y) ~ x),因为截距或常数项(仅包含1')是包含在默认情况下。

通过撰写+ 1,您只需提醒" rlm你想要在回归中使用常数项,而写+ z看起来更像是你想要添加一些变量(并且你可能不知道它只包含1' s) ,但同时具有默认拦截和只包含1的z导致问题 - perfect collinearity,因此会出错。

强烈建议您在回归中始终使用截距,但如果您真的想要消除它,可以使用log(y) ~ x - 1来完成。现在实际上log(y) ~ x - 1 + z工作正常,因为没有两个相同的变量。