HLM建模,混合模型的理解和领悟

HLM很厉害,但其实就是纳入考虑了组间的变异,和mixed model是比较像的,所以导致网上的很多资料都将两者混为一谈。但我觉得还是HLM对分组的限制更显著,mixed model更像是线性和HLM之间的一种模型。

HLM有自己的一套软件和操作,安装包可见附件。

我是用R实现的,整个过程和mixed model的建立非常相近,主要是需要考虑组间的变异。

具体R代码可见:

setwd("C:/Users/jack/Desktop/mission/BMI_HLM")

library(readxl)
mydata <- as.data.frame(read_excel("mydata_new_RCS.xlsx"))
names(mydata)<-c('id','age_week','weight_gain','BMI_group','age1','age2','age3','age4')

#delete the outliers
mydata<-mydata[mydata$weight_gain<39,]#丢去8个异常值

#if need to create the dependant variable
for (i in 1:nrow(mydata)){
if (mydata[i,4]==1) {
mydata[i,'LOGWTGAINKG']<-log(mydata[i,3]+4.5)
} else if (mydata[i,4]==2) {
mydata[i,'LOGWTGAINKG']<-log(mydata[i,3]+5.9)
} else if (mydata[i,4]==3) {
mydata[i,'LOGWTGAINKG']<-log(mydata[i,3]+7)
}
}

#build up the model
library(lme4)
Model3.1 = lmer(weight_gain ~ age1+age2+age3+age4+ (1|id) +(1+age1|BMI_group)+(1+age2|BMI_group)+(1+age3|BMI_group)+(1+age4|BMI_group), data=mydata,REML=FALSE)

coef(Model3.1)

RCS_data <- unique(mydata[c(2,5,6,7,8)])
for (i in 1:nrow(RCS_data)){
  RCS_data[i,'mean1'] <- -1.596829+ 0.3326625*RCS_data[i,2]+ 0.7824231*RCS_data[i,3] -2.950797*RCS_data[i,4]+ 5.523618*RCS_data[i,5]
  RCS_data[i,'mean2'] <- -1.697974+ 0.3303238*RCS_data[i,2]+ 0.7823930*RCS_data[i,3] -3.063787*RCS_data[i,4]+ 5.523501*RCS_data[i,5]
  RCS_data[i,'mean3'] <- -4.860473+ 0.2571978*RCS_data[i,2]+ 0.7824119*RCS_data[i,3] -2.943460*RCS_data[i,4]+ 5.523661*RCS_data[i,5]
}

#BMI 1
pl

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值