如何解决有没有办法从带有协变量的混合效应模型中绘制交互图?
我试图在具有多个协变量的混合效应模型中通过条件相互作用绘制一周的结果。数据嵌套在主题内。我正在按周(5 个级别的因素)、状况(2 个级别)、年龄、性别、教育、健康、使用应用程序的天数(这是干预)预测步骤。使用lme4包拟合的模型贴在下面。
m1<-lmer(Steps~ as.factor(Week) + Condition + Age + Gender + Edu + Health + DaysUse + Condition*Week + (1|SubjectID),Dataset1,REML=FALSE)
summary(m1)
最初为了绘制此图,我按周和条件汇总了步数,以按条件获得每周步数的均值和标准误差。然后我使用以下语法在 ggplot 中绘制了这个图。
ggplot(data=stepgraph,aes(x=Week,y=Step.Mean,fill=Condition,group=Condition)) +
geom_point(stat = "identity",aes(shape = Condition),size = 3)+
geom_errorbar(aes(ymin=Step.Mean-Step.SE,ymax=Step.Mean+Step.SE,linetype = Condition),width=.2)+
geom_line(aes(linetype = Condition))+
theme_bw()+
coord_cartesian(ylim = c(1000,10000))+
labs(title ="Average weekly steps by Condition",x = "Study Week",y = "Weekly Step Average") +
theme(plot.title = element_text(hjust = 0.5))+
theme(
legend.position = c(.95,.05),legend.justification = c("right","bottom"),legend.Box.just = "right",legend.margin = margin(6,6,6)
)
但是,我的顾问指出,从技术上讲,这不是我的模型结果的图表。这不仅没有考虑到我模型中的协变量,而且我认为它没有考虑到数据嵌套在个人内部这一事实。
我还考虑过使用“position_nudge”调整 y 轴,通过将每个协变量的平均值乘以这些协变量的 beta 来创建微调,例如,
AgeMB1<-m1@beta[6]*mean(Dataset1$Age,na.rm=T)
对所有其他协变量依此类推...然后我将这些值相加并相应地微调 y 轴上的所有内容。
然而,这只是将所有点向上或向下移动一定数量。我也不确定这是否是正确的方法。
最后,根据我在网上找到的另一个建议,我尝试将截距限制为 0,以输出每周平均步长的模型估计值。我使用以下模型进行了此操作……但是,要按条件进行分离,我需要按条件对数据进行子集化并运行模型两次。
m1C<-lmer(Steps~ 0 + as.factor(Week) + Age + Gender + Edu + Health + DaysUse + (1|SubjectID),Dataset1.1,REML=FALSE)
summary(m1C)
当我在这里采用估计值的 beta 和标准误差时,标准误差非常大。我想知道这是不是因为标准误差是估计人与人之间的,而不是人内的。
我想我的主要问题是,是否有最佳实践来绘制这样的交互,使用嵌套在人体内的数据,并考虑我的模型中的协变量。或者,有没有办法直接从我的模型中提取预测的步骤均值和标准误差,在每个不同的周按条件?
预先感谢您的任何帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。