【问题标题】:How to include the longitudinal effect into a linear mixed effect model如何将纵向效应纳入线性混合效应模型
【发布时间】:2020-08-12 12:38:01
【问题描述】:

我需要使用线性混合效应模型评估 2 次访问之间的 FAT 纵向变化

我有一些会从第 1 次访问到第 2 次访问发生变化,因为它们是高血压状态、糖尿病状态、bmi、腰围、吸烟状态等。还有其他变量不会因访问而改变1 访问 2,因为他们是性别或种族。

以下变量是虚拟变量(高血压状态、糖尿病状态、吸烟状态、性别),而以下变量是连续变量(bmi、腰围、年龄)。

我最初使用nlme包的想法是:

lme(fat~ diabetes_status + hypertension_status + bmi + waist + smoker + gender + ethnicity + Visit, random= ~1|PatientID/Visit, data = df, na.action = na.omit)

访问有 2 个级别(1 和 2)

问题:

  1. 您认为这是评估脂肪是否存在纵向变化的正确方法吗?
  2. 您认为这包含太多固定效果吗?

PS:我为您提供了一个示例数据集:

 df <- data.frame(PatientID = c(1000344, 1000344,1001471, 1001471, 1002830, 1002830),Visit = c(1,2,1,2,1,2),fat= c(  8.510 ,14.456, 4.612,4.738,18.021,25.740), diabetes_status= c("False" ,"True","False" ,"False" ,"False","True"), hypertension_status= c("True" ,"True","False" ,"True" ,"False","True"),bmi= c(32.0386  ,33.4919 ,29.6878  ,28.7660   ,26.1540 ,26.2788), waist= c(105  ,105   ,98     ,101  ,91  ,96), smoker= c(1 ,0  ,0 ,0  ,1  ,0), gender= c(1  ,1  ,0 ,0,1 ,1), ethnicity= c(1,1 ,0,0,1 ,1),  stringsAsFactors = F)

谢谢!

【问题讨论】:

    标签: r lme4 mixed-models nlme longitudinal


    【解决方案1】:

    你所拥有的并不是一个糟糕的开始。固定效应参数(您可以通过在模型对象上运行 fixef() 来获得)应该为您提供每个模型固定效应对结果变量的“整体”效应的一些指示。

    在不知道你有多少数据的情况下,很难说你的模型是否包含太多固定效应。其他一些因素也可能很重要,例如您的预测变量共同变化的程度(特别是虚拟变量)。对于您的示例数据集,您肯定有太多固定效应,但是,我猜您在真实数据集中有超过六个观察值。这里一些容易实现的目标可能是去除 BMI 或腰围。两者本质上都在尝试测量相同的东西。

    我建议花一些时间与 J.C. 的 Pinheiro 和 D.M. 的 Bates (2000)“S 和 S-PLUS 中的混​​合效应模型”,Springer。这是一个很好的资源,有许多不同的工作示例。混合效应模型是一个很大的话题。我相信这本书也有一些章节介绍了建立模型复杂性的顺序,以及如何测试加法或固定和随机效应是否会改进模型。例如,在评估固定/随机效应的包含/去除时,您是否使用最大似然法或受限最大似然法拟合模型很重要。

    编辑:我刚刚注意到您只有两次访问。您最好剥离访问模型层并将访问之间的“脂肪变化”建模为结果。如果您在这两次就诊中的每一次每次只对每位患者进行一次测量,您也不需要患者 ID 级别。因此,您可以使用简单的线性回归模型。但是,我根据您提供的样本数据对您的数据做了很多假设。

    【讨论】:

    • 感谢@Feakster,除了计算线性回归的脂肪变化量之外,关于纵向效应的任何建议。 LME 你会怎么做(我们需要 LME 的原因是因为自变量从一次访问到另一次访问会发生变化)
    • 我认为这个链接回答了如何在线性混合效应模型中建模纵向变化的问题:rstudio-pubs-static.s3.amazonaws.com/… 特别是,我的具体问题的答案是:model1 = lme(fixed = fat ~ visit +性别 + 种族 + 糖尿病状态 + 高血压状态 + bmi + 腰围 + 吸烟者 + 年龄,随机 = ~ 访问 | 患者 ID,数据 = df) sumModel1 = summary(model1); sumModel1 希望这会有所帮助!
    猜你喜欢
    • 2017-04-03
    • 1970-01-01
    • 2022-12-15
    • 1970-01-01
    • 2018-04-04
    • 2015-12-07
    • 2018-05-10
    • 2018-07-26
    • 2020-12-03
    相关资源
    最近更新 更多