0

我想使用线性混合效应模型研究两次访问之间的脂肪差异。所以一切都将从lme(fat~现在开始......对于系数,我有一些会从访问 1 变为访问 2,因为它们是高血压状态、糖尿病状态、bmi、腰围、吸烟状态等。以及其他不会的变量t 从访问 1 更改为访问 2,因为它们是性别或种族。

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

我使用包的初始模型nlme表示为:

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

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

但是,有人告诉我,那些随时间变化的变量应该是随机效应,而所有其他变量应该是固定的。在来自 stackoverflow 的另一个问题(在 nlme 中指定多个单独的随机效果)中,我读到这nlme对于指定交叉效果(又名,多个单独的随机效果)并不好,并且该lme4软件包可以最好地处理这个问题。

我尝试了多种方法:

attempt_1 = lmer(fat ~ gender + ethnicity + (1|diabetes_status) + (1|hypertension_status) + (1|PatientID/visit), data=df_1, REML=TRUE)

attempt_2 = lmer(fat ~ gender + ethnicity + (1|diabetes_status) + (1|hypertension_status) + (1|PatientID/visit), data=df_1, REML=FALSE)

attempt_3 = lmer(fat ~ gender + ethnicity + (diabetes_status+hypertension_status|PatientID/visit), data=df_1, REML=TRUE)

attempt_4 = lmer(fat ~ age + ethnicity + (1|diabetes_status) + (1|hypertension_status) + (1|PatientID/visit), data=df_1, REML=FALSE)

attempt_5 = lmer(fat ~ age + ethnicity + (1+diabetes_status+hypertension_status|PatientID/visit), data=df_1, REML=TRUE)

但是这些尝试都不起作用,并且错误总是相同的:Error: number of levels of each grouping factor must be < number of observations 我认为这可能是由于以下三个原因之一:

  1. 代码在任何尝试中都不正确,如果这是真的,那将是表达这一点的最佳方式?

  2. 随机效应实际上应该是固定效应(因此,在这种情况下,正确的模型将是lme(fat~ diabetes_status + hypertension_status + bmi + waist + smoker + gender + ethnicity, random= ~1|PatientID/Visit, data = df_1, na.action = na.omit))完美运行的模型。

  3. 线性混合效应模型不准备处理如此多的随机效应。

有什么想法吗?谢谢!

4

0 回答 0