【问题标题】:`rms::ols()`: how to fit a model without intercept`rms::ols()`:如何在没有截距的情况下拟合模型
【发布时间】:2014-04-08 06:05:25
【问题描述】:

我想使用rms 包中的ols()(普通最小二乘)函数进行多元线性回归,但我不希望它计算截距。使用lm() 的语法如下:

model <- lm(formula = z ~ 0 + x + y, data = myData)

0 阻止它计算截距,并且只返回两个系数,一个用于x,另一个用于y。使用ols() 时如何执行此操作? 尝试

model <- ols(formula = z ~ 0 + x + y, data = myData)

没有用,它仍然为xy 分别返回一个截距和一个系数。

Here is a link to a csv file

它有五列。对于本例,只能使用前三列:

model <- ols(formula = CorrEn ~ intEn_anti_ncp + intEn_par_ncp, data = ccd)

谢谢!

【问题讨论】:

  • 你试过 ols(formula = z ~ -1 + x + y, data = myData)
  • @droopy 这没有任何区别......你的想法是什么?
  • 你能给我们一个小的、可重现的例子来试试这个吗?
  • 很遗憾没有答案。我现在也在问同样的问题

标签: r linear-regression lm


【解决方案1】:

rms::ols 使用 rms:::Design 而不是 model.frame.defaultDesign 是用默认的intercept = 1 调用的,所以没有(明显的)方法来指定没有拦截。我认为这是有充分理由的,但您可以尝试使用 trace 更改 ols

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 2021-03-31
    • 2011-08-06
    • 1970-01-01
    相关资源
    最近更新 更多