Cou*_*ier 5 regression r gam mgcv
在R中,我想使用具有分类变量的gam模型。我以为可以做到(cat是绝对变量)。
lm(data = df, formula = y ~ x1*cat + x2 + x3);
Run Code Online (Sandbox Code Playgroud)
但是我不能做这样的事情:
gam(data = df, formula = y ~ s(x1)*cat + s(x2) + x3)
Run Code Online (Sandbox Code Playgroud)
但以下工作原理:
gam(data = df, formula = y ~ cat + s(x1) + s(x2) + x3)
Run Code Online (Sandbox Code Playgroud)
如何将分类变量仅添加到样条线之一?
其中一条评论或多或少告诉了您如何操作。使用by变量:
s(x1, by = cat)
Run Code Online (Sandbox Code Playgroud)
这将创建“因子平滑”平滑类fs,其中x1为每个因子级别创建一个平滑函数。平滑参数也是重复的,但没有链接,因此估计不合理。你可以设定
s(x1, by = cat, id = 0)
Run Code Online (Sandbox Code Playgroud)
对所有“子平滑”使用单个平滑参数。
另请注意,对比度不适用于因数,但平滑函数仍受居中约束。这意味着您还需要将因子变量指定为固定效应:
s(x1, by = cat) + cat
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3980 次 |
| 最近记录: |