如何在回归模型中将因子水平设置为预定义值?
在使用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
。
答案 0 :(得分:0)
计算模型矩阵并按照以下方式工作:
mm <- model.matrix(Sepal.Length ~ Species - 1, iris)
fm <- lm(Sepal.Length ~ mm[, -1] + offset(.5 * mm[, 1]) - 1, iris)
<强>修强>