【问题标题】:How to do a marginal model analysis in R?如何在 R 中进行边际模型分析?
【发布时间】:2019-01-05 02:01:57
【问题描述】:

问题。我想在 R 中做一个边际模型分析——我认为它有时被称为总体平均模型、边际多级模型或边际线性回归模型。但是,我在 stackoverflow、Google 或 Youtube 上找不到任何关于如何在 R 中专门执行此操作的信息。

背景。我说的是分析因素 herehere 以及这些PowerPoint slides 中描述的边际模型。 one person on CrossValidated 在 SPSS 和 R 中提到了这个分析,但他没有显示他的实际代码,他的问题也没有得到回答。不确定是否应该在nlme 包中完成。

SPSS 代码。 我已经描述了此数据的性质 elsewhere on CrossValidated,但基本上,我们感兴趣的是通过个性(测量一次)来预测参与者的情绪(在 2 种不同条件下测量两次) )。这是我在 SPSS 中使用的代码。

MIXED emotion BY condition WITH centeredPersonality
    /FIXED=condition centeredPersonality condition*centeredPersonality
    /METHOD = REML
    /REPEATED= condition | SUBJECT (ID) COVTYPE(UN)
    /PRINT=SOLUTION.

问题。如何在 R 中做到这一点?

【问题讨论】:

    标签: r spss mixed-models longitudinal multilevel-analysis


    【解决方案1】:

    我认为geepack 包的geeglm 可以做到这一点。我的理解是广义估计方程与边际模型相同。 geeglm 的语法与 glm 相似,如果您使用高斯族,您将获得类似于标准边际模型的结果。我敢肯定还有其他方法,但这应该可行。

    edit:这是一个您可以使用的示例,将情绪回归到两个变量,条件和个性,以及它们的相互作用。条件被视为一个因素,错误由 id 聚类。 geeglm 的默认族是 gaussian/Normal,所以我们不需要指定。

    > library(geepack)
    > dat <- data.frame(id = c(1, 1, 2, 2, 3, 3, 4, 4), 
    +                   condition = factor(c(1, 2, 1, 2, 1, 2, 1, 2)), 
    +                   personality = c(2.5, 2.5, 4.0, 4.0, 3.3, 3.3, 4.2, 4.2),
    +                   emotion = c(5.0, 4.9, 2.6, 2.3, 4.3, 2.9, 1.0, 1.0))
    >   
    > my_mod <- geeglm(emotion ~ condition*personality, data = dat, id = id)
    > summary(my_mod)
    
    Call:
    geeglm(formula = emotion ~ condition * personality, data = dat, 
        id = id)
    
     Coefficients:
                           Estimate Std.err  Wald Pr(>|W|)    
    (Intercept)              10.815   1.296 69.68  < 2e-16 ***
    condition2               -0.902   1.284  0.49     0.48    
    personality              -2.169   0.385 31.77  1.7e-08 ***
    condition2:personality    0.129   0.322  0.16     0.69    
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
    
    Estimated Scale Parameters:
                Estimate Std.err
    (Intercept)    0.223  0.0427
    
    Correlation: Structure = independenceNumber of clusters:   4   Maximum cluster size: 2 
    

    【讨论】:

    • 谢谢@Joseph!您能否使用 geepack 包的 geeglm 函数提供带有我的 sample data 的示例代码?对于那些最终解决这个 stackoverflow 问题的人来说,这将是一个有效的具有里程碑意义的答案。
    • 我添加了您要求的示例。
    猜你喜欢
    • 2014-03-20
    • 1970-01-01
    • 2019-05-15
    • 2020-05-07
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 2018-08-19
    相关资源
    最近更新 更多