我需要创建一个没有截距的概率模型。那么,如何从 R 中的概率模型中删除截距?
问问题
80058 次
2 回答
49
您没有说您打算如何拟合概率模型,但如果它使用 R 的公式符号来描述模型,那么您可以提供其中一个或+ 0
作为- 1
公式的一部分来抑制截距:
mod <- foo(y ~ 0 + x1 + x2, data = bar)
或者
mod <- foo(y ~ x1 + x2 - 1, data = bar)
(当然都使用伪 R 代码 - 替换您的建模函数和数据/变量。)
如果这是一个模型拟合,glm()
那么类似:
mod <- glm(y ~ x1 + x2 - 1, data = bar, family = binomial(link = "probit"))
应该这样做(再次适当地替换您的数据和变量名称。)
于 2013-01-08T15:54:05.857 回答
15
此外,如果您有一个现有的公式对象,foo
您可以像这样删除截距update
:
foo <- y ~ x1 + x2
bar <- update(foo, ~ . -1)
# bar == y ~ x1 + x2 - 1
于 2014-03-18T21:48:50.607 回答