我需要一些关于在因变量中进行对数转换的混合模型的帮助。
所以我的因变量 Y 是一个范围从 0 到 30 的分数。我们决定按以下方式对变量进行对数转换:log(Y+1),因为 log(0) 不存在。之后,我们拟合了一个混合模型并为固定效应计算了以下回归参数:
想法是给出 26 周后按性别和疾病阶段分层的百分比变化。例如,如果我们想得到 III 期妇女的变化,我们需要计算 exp((-0.019+0.007+0.002-0.016)*26)-1 = -0.4914 = -49.14%.
这意味着,我们在 26 周后将分数降低了约 49.14%。
不过,我也有兴趣用 ggplot 绘制这个结果。我正在使用以下代码:
Data %>%
ggplot(aes(week, as.numeric(predict), color = as.factor(illness_stage))) +
facet_wrap( ~sex)+
labs(x="week",
y = "Predicted Score")+
stat_smooth(method = "lm", formula = y ~ log(x+1))+
theme_bw()+theme(legend.position = "top")+coord_cartesian(ylim=c(0, 18))
为了绘制 Y 的预测值,我使用了重新转换
Data$predict <- exp(predict(model))-1
所以问题来了:我的图不代表我从计算中得到的值,我也不知道为什么。上面的公式或绘图的 R 代码是否有错误?
我的结果图是这样的:
所以当女性(图中 = 1)的减少量为 49% 时,绿线必须在 8 左右。但事实并非如此。
所以也许你们中的一个人可以帮助我解决这个问题?
谢谢。