线性模型约束问题

3

我很新于R,现在遇到了以下问题:

我有一个简单的二因素线性模型:

Rate~factor1 + factor2 //factor1 has 8 categorical values, factor2 has 6 categories;
model1 <- lm(Rate~factor1+factor2, data=myData)

我希望对因子1系数之和为0,对因子2同样如此进行限制。

所有的手册都没有提供任何关于如何实现这一点的线索。

我在这里找到了一个类似的问题,但它与我的问题不同,我无法弄清楚如何修改它...


1
这个问题也被问到了统计交换网站: http://stats.stackexchange.com/questions/3143/ - csgillespie
@csgillespie: 谢谢你提供的链接。 @Vytautas: 请不要重复发布。 - Joshua Ulrich
你知道如何在拟合中指定正性约束吗?如何进行拟合,使得最终函数始终为正,而与参数无关? - schmi
1个回答

2

这个问题在《现代应用统计学与S语言》第6章中有详细描述。使用lm函数的contrasts参数(查看?contr.sum?model.matrix.default了解示例)。


非常感谢。我尝试了一下,它没有使系数之和等于0,但是确实将其最小化了(现在一个因子为0.2,另一个为0.08)。 - Vytautas
有没有一种方法可以强制执行 ==0 条件? - Vytautas
我的答案是强制执行的方法。如果factor1的总和为0.2,factor2的总和为0.08,则factor1的最后一级的值为-0.2,factor2的最后一级的值为-0.08。请注意,您的回归输出缺少一个因子水平...这也在您在stats.stackexchange.com上接受的答案中包含的链接中说明了... - Joshua Ulrich

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接