Тестовый код:
rlm(x=runif(100, 100, 200), y=runif(100, 10000, 10002))
lm(runif(100, 10000, 10002)~runif(100, 100, 200))
Результат lm () имеет смысл:
Coefficients:
(Intercept) runif(100, 100, 200)
1.000e+04 -1.024e-03
Однако rlm () предоставляет модель без перехвата
Call:
rlm(x = runif(100, 100, 200), y = runif(100, 10000, 10002))
Converged in 4 iterations
Coefficients:
runif(100, 100, 200)
62.01507
Информация о пакете:
packageVersion("MASS")
[1] ‘7.3.51.1’
Редактировать: Благодаря Салу Мангиафико я обнаружил, что rlm()
может рассматривать перехват только в том случае, если мы используем ~
синтаксис
Call: rlm(formula = runif(100, 10000, 10002) ~ runif(100, 100, 200))
Residuals:
Min 1Q Median 3Q Max
-0.94878 -0.49492 -0.01952 0.51689 1.02064
Coefficients:
Value Std. Error t value
(Intercept) 10001.0276 0.3213 31128.1471
runif(100, 100, 200) -0.0004 0.0021 -0.1837
Residual standard error: 0.7588 on 98 degrees of freedom