回归 - 将因子水平设置为预定义值

时间:2017-11-21 14:44:37

标签: r glm

如何在回归模型中将因子水平设置为预定义值?

在使用offset指定回归模型时,我似乎无法在因子变量上使用lm函数。例如,要设置约束Sepal.Width = 0.5,其中Sepal.Width是一个连续变量,我会编码

lm(Sepal.Length ~ as.factor(Species) + offset(Sepal.Width*0.5), data = iris)

我怎样才能设置Species的第一级(称为setosa)等于预定义值5?即如何将上面的回归模型约束到setosa = 5

1 个答案:

答案 0 :(得分:0)

计算模型矩阵并按照以下方式工作:

mm <- model.matrix(Sepal.Length ~ Species - 1, iris)
fm <- lm(Sepal.Length ~ mm[, -1] + offset(.5 * mm[, 1]) - 1, iris)

<强>修