我在R中运行线性混合效应回归( LME ),其中节点由诊断时间(t=0)决定。所以现在的模式是:
lme(function ~ age+sex+timepre*marker+timepost*marker, random=~time|ID, data=data)因此: timepre是来自t=0的所有东西都是0,在此之前是0时间,而timepost是诊断前的所有东西都是0,而在诊断之后是0+time。时间是timepre和timepost的结合。
现在,我想使用sjPlot库来绘制这些效果,因为它很好地给出了预测值(修正为协变量),并将其作为一个可以在t=0上看到结的图。
plot_model(model, type="int")相反,它正在绘制两个不同的情节,一个为每个互动。有没有办法将这些地块组合起来,使前后的坡度结合起来(现在截取的坡度也不同了)?或者我该怎么做?

更新:
在搜索了更多之后,我发现了一个建议,即使用样条来代替两个单独的时间框架。所以,我现在尝试的是:
lme(function ~ age+sex+bs(time, knots=0, degree=1)*marker, random=~time|ID, data=data)我可以用visreg库来绘制这个图,而且我似乎得到了零的结:

这是正确的吗?我是否正确地认为这些系数应解释如下:
bs(time, knots = 0, degree = 1)1:marker 12.055090 p= 0.0004
bs(time, knots = 0, degree = 1)2:marker 13.750058 p= 0.0133第一个coeff (12.055和p-值0.0004)表示第一个斜率(结之前)的变化,作为标记水平的函数?第二个coeff (13.75,p-值0.013)表示第一斜率和第二斜率之间的差异,作为标记的函数?那么,如何知道在第二个斜率的变化是否显着作为一个标志的功能?
发布于 2019-08-06 19:40:16
你不需要为你的时间变量使用样条,特别是如果你只有两个时间点,你不能拟合这两个点之间的任何曲线。因此,您的模型将是:
lme(function ~ age + sex + time * marker, random=~time|ID, data=data)然后,您可以使用plot_model(model, type = "int")查看两个时间点之间的交互和差异。或者您可以使用ggeffects包,它甚至更灵活一些。
如果time变量有两个以上的时间点,那么使用poly()或样条可能是有意义的。对于ggeffects,有一个包括多项式项这里 (和一般介绍这里)的实用示例。
对于上面的例子:
library(ggeffects)
m <- lme(function ~ age+sex+bs(time, knots=0, degree=1)*marker, random=~time|ID, data=data)
pred <- ggpredict(m, c("time", "marker"))
plot(pred)https://stackoverflow.com/questions/57346055
复制相似问题