R相当于SAS中受试者的随机残差

R equivalent to random residual by subject in SAS

我可以在 SAS 中用残差作为随机效应来编码这个问题(我相信这是鱼的 r 端随机拦截)

    proc glimmix data=one method=mmpl ;
    class fish;
    model increment =age growth_year age*growth_year;
    random residual / subject=fish ;
    run;

这里是与 AR(1) 协方差结构相同的分析。

   proc glimmix data=one method=mmpl ;
    class fish;
    model increment =age growth_year age*growth_year;
    random residual/ subject=fish type = ar(1) ;
    run;

这是我在 R 中重现第一个不起作用的模型的尝试。

    model = lmer(increment ~ age + growth_year+ age*growth_year 
    + (resid()|fish), data = SR_data)

请帮助,使用 lmer 或 glmer(gamma 而不是正态分布)或 lme 或我不知道的任何其他包。

lme4 包不允许 R-side 模型,但 nlme 允许。如果你想在没有鱼的随机影响的情况下在鱼内建立相关性(即只有 R-side 影响,没有任何 G-side 影响),那么我想你想使用 gls:这是一个使用 Orthodont 来自 nlme 包的数据:

library("nlme")
gls(distance~age*Sex, correlation=corAR1(form=~1|Subject), data=Orthodont)

如果您想允许基线 value/intercept 按组(G- 和 R-side)变化,那么您将使用:

lme(distance~age*Sex, random = ~1|Subject,
     correlation=corAR1(form=~1|Subject), data=Orthodont)

如果您希望基线发生变化但 受试者内的相关残差(仅限G-side):

lme(distance~age*Sex, random=~1|Subject, data=Orthodont)

library(lme4)
lmer(distance~age*Sex + (1|Subject), data=Orthodont)