r-为什么rlm(MASS软件包)返回没有拦截的模型?

时间:2019-03-06 18:41:47

标签: r regression

测试代码:

<div class="containe-header">
  <nav id="nav">
    <ul>
      <li class="menu-t"><a href="#">Main</a>
        <ul>
          <li><a href="#">Item1</a>
            <ul>
              <li><a href="#">Sub Item 1</a></li>
              <li><a href="#">Sub Item 2</a></li>
              <li><a href="#">Sub Item 3</a></li>
              <li><a href="#">Sub Item 4</a></li>
            </ul>
          </li>
          <li><a href="#">Item2</a>
            <ul>
              <li><a href="#">Sub Item 1</a></li>
              <li><a href="#">Sub Item 2</a></li>
              <li><a href="#">Sub Item 3</a></li>
              <li><a href="#">Sub Item 4</a></li>
              <li><a href="#">Sub Item 5</a></li>
              <li><a href="#">Sub Item 6</a></li>
            </ul>
          </li>
          <li><a href="#">Item3</a></li>
          <li><a href="#">Item4</a></li>
        </ul>
      </li>
      <li class="menu-l"><a href="#">Menu2</a></li>
    </ul>
  </nav>
</div>

lm()的结果很合理:

rlm(x=runif(100, 100, 200), y=runif(100, 10000, 10002))
lm(runif(100, 10000, 10002)~runif(100, 100, 200))

但是,rlm()提供的模型没有拦截

Coefficients:
         (Intercept)  runif(100, 100, 200)  
           1.000e+04            -1.024e-03

包装信息:

Call:
rlm(x = runif(100, 100, 200), y = runif(100, 10000, 10002))
Converged in 4 iterations

Coefficients:
runif(100, 100, 200) 
            62.01507 

编辑:感谢Sal Mangiafico,我发现packageVersion("MASS") [1] ‘7.3.51.1’ 仅在使用rlm()语法的情况下才可以考虑拦截

~

1 个答案:

答案 0 :(得分:1)

[注意:这里可能存在有关统计的问题,但我认为这归结为编程问题。 〜ssm]

如果在函数调用中使用并行语法,则在此示例中,结果几乎没有差别。

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