【发布时间】:2019-05-02 15:55:33
【问题描述】:
我想拟合以下形式的一般线性模型:
lp = c + (a1+a2*Test)*x
其中 c 是截距(要拟合),a1 是 x 的系数,a2 是 2 级因子“测试”的第二级 x 系数的修饰符(此处编码为虚拟变量值'1')。
所以对于因子“Test”的第一级,虚拟变量的值为 0,斜率为 a1。对于'Test'的第二级,斜率为(a1+a2)。
在 GenStat 中,我可以在广义线性模型菜单中将其拟合为“x+Test.x”,这将为我提供所需的系数 c、a1 和 a2 的估计值。
在 R 中,我尝试了以下方法:
glm(y ~ x + Test*x)
这给了我以下系数:截距 (c)、x、Test 和 x:Test。
我认为“测试”系数是截距的修饰符(我不想拟合),而 x:Test 是我实际想要的 x 系数(即 a2)的修饰符。
如何避免在 R 中拟合“测试”的系数?是否存在与我使用“。”具有相同效果的运算符在 GenStat 中?
编辑:我也试过了:
glm(y ~ x + offset(Test*x))
但这只是给了我值“Test*x”的固定偏移量,它不适合系数“a2”。
【问题讨论】:
-
我编辑了我的问题,因为我认为我的问题表达得不够清楚 - 有人对我编辑的问题有答案吗?