You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让mgcv::gam的参数系数显示实际处理名称而非后缀字母?

使用mgcv包gamm函数建模的分类变量系数命名问题

在使用mgcv包的gamm()函数建模时遇到问题:参数系数中的分类变量food被标记了.L、.Q、.C这类后缀,无法看到实际的水平名称,但平滑项却能正常显示处理名称。之前通过在处理列名前添加O的方法解决过类似问题,但此次无效。已将所有分组变量转为因子,还创建了带O前缀的Ofood列(用于后续生成求和平滑曲线),附上模型输出及代码寻求解决建议:

模型输出

Family: quasipoisson 
Link function: log 

Formula:
weekly_eggs ~ food + s(week) + s(week, by = Ofood) + s(id, 
    bs = "re")

Parametric coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)  -0.5624     0.2031  -2.769  0.00581 **
food.L        0.1011     0.4086   0.247  0.80473   
food.Q        0.5398     0.4076   1.324  0.18594   
food.C        0.2136     0.4053   0.527  0.59838   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Approximate significance of smooth terms:
                  edf Ref.df      F  p-value    
s(week)         6.403  6.403 49.376  < 2e-16 ***
s(week):Ofoodlow  1.000  1.000  0.001 0.976359    
s(week):Ofoodmed  1.000  1.000 14.360 0.000167 ***
s(week):Ofoodhigh  2.078  2.078  1.656 0.141125    
s(id)    43.669 49.000 12.984  < 2e-16 ***

代码

df_P_egg_gamm$id = as.factor(df_P_egg_gamm$id)
df_P_egg_gamm$food = as.factor(df_P_egg_gamm$food)
df_P_egg_gamm$Ofood = factor(df_N_P_egg_gamm$food, ordered=T)

egg_gamm_P = gamm(weekly_eggs ~ food + s(week) + s(week, by=Ofood) + s(id, bs="re"), family="quasipoisson",
                correlation=corCAR1(form=~week|id), data=df_P_egg_gamm)

解决建议

  1. 修正food因子的有序性:输出中的.L(线性)、.Q(二次)、.C(三次)后缀,说明food被当作有序因子处理了。你创建Ofood时用了ordered=T,但food作为主效应变量应该设为普通因子,显式指定即可:

    df_P_egg_gamm$food = factor(df_P_egg_gamm$food, ordered = FALSE)
    

    这样参数系数会显示每个水平的实际名称,而非正交多项式后缀。

  2. 统一数据集的因子来源:代码中Ofood用的是df_N_P_egg_gamm$food,而food用的是df_P_egg_gamm$food,确认两个数据集的food水平完全一致,避免因数据来源差异导致的因子处理异常。

  3. 手动设置对比方式:如果上述方法无效,可强制将food的对比类型设为处理对比,覆盖默认的正交多项式对比:

    contrasts(df_P_egg_gamm$food) = contr.treatment(levels(df_P_egg_gamm$food))
    

    此时参数系数会以第一个水平为参照,显示其余水平的具体名称。

内容的提问来源于stack exchange,提问作者lmbradley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 12:18:18