我有一个非常大的数据集,重复测量相同的血液值(co)(每位患者 1 到 7 次测量)。每次测量都与时间相结合,时间是外科手术和血液水平测量之间的时间间隔。
我的目的是表明这种血液值与时间呈正相关。
血液水平测量值高度向右倾斜,因此我使用对数变换和线性混合效应回归模型(lme4 包中的 lmer)。
我构建了一个空模型:
fit1<-(lmer(lgco~(1|id),data=ASR))
模型 2 包括时间作为自变量:
fit2<-(lmer(lgco~time+(1|id),data=ASR))
Id 是数据集中的患者编号。
通过使用 anova() 函数,我发现 fit2 明显优于 fit1:
> anova(fit1,fit2)
refitting model(s) with ML (instead of REML)
Data: ASR
Models:
fit1: lgco ~ (1 | id)
fit2: lgco ~ time + (1 | id)
Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq)
fit1 3 342.77 357.50 -168.39 336.77
fit2 4 320.64 340.27 -156.32 312.64 24.135 1 8.983e-07 ***
然而,我有其他数据表明时间和血液价值之间的相关性可能更加深刻,例如二次方。这将是模型 3。
我尝试了以下方法:首先我取血值的平方根,然后使用 log 进行转换。
fit3<-(lmer(lgsqrtco~time+(1|id),data=ASR))
我的问题是,在因变量在这些模型中有两种不同的转换之后,我现在可以比较模型 2 和 3。在 fit1 和 fit2 中,变换是相同的,只是添加了独立的。我假设通过不同的因变量转换,不允许使用 anova() :
anova(fit2,fit3)
refitting model(s) with ML (instead of REML)
Data: ASR
Models:
fit2: lgco ~ time + (1 | id)
fit3: lgsqrtco ~ time + (1 | id)
Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq)
fit2 4 320.64 340.27 -156.32 312.64
fit3 4 -1065.66 -1046.03 536.83 -1073.66 1386.3 0 < 2.2e-16 ***