我试图从一个模型(用 lme4 完成)绘制边际效应plot_model()
模型(同一模型的 2 个版本)看起来像
版本 1:
m1 <- glmer(Y~Xs*Zs+(1|random.factor), family=binomial(), data=dat)
版本 2:
m2 <- glmer(Y~scale(X)*scale(Z)+(1|random.factor), family=binomial(), data=dat)
在这两个版本中,连续预测变量 X 和 Z 使用scale()
函数进行缩放,但在版本 1 中,它在创建模型 m1 之前完成,并作为单独的列(Xs 和 Zs)保存在 中dataframe=dat
,而在版本 2 中,它在模型中指定平方米
我现在的问题是如果我按原样绘制 m1
我想绘制 X 的边际效应,但不是 x 轴上 X 的缩放值,我想拥有我尝试过的原始值
a <- plot_model(m1, type="pred", terms="Xs [myfun]")
b <- plot_model(m2, type="pred", terms="X [myfun]")
myfun
被定义为scale()
所以,这给了我两个不同的情节。由于情节 b 看起来类似于 m1 的情节而没有重新调整 x 轴,所以我会说情节 b 是正确的情节。但我不明白 term="..." 中的 "[myfun]" 是如何工作的以及它的作用。谢谢你的帮助!