r语言 - 计算具有多项式项的 lmer 模型的边际效应



我正在尝试使用lme4量化混合模型中变量的效应大小,但我似乎无法让它与在两个变量之间创建非线互作用的poly()函数一起使用。

library(lme4)
library(lmerTest)
library(readr)
mydata <- read_csv("https://raw.githubusercontent.com/HaydenSchilling/Example_code_and_data/master/example_data2.csv")
m1 <- lmer(CPUE.standardised ~ poly(cbind(X135_degree_winds.standardised, 
X45_degree_winds.standardised), degree = 2) + 
Estuary_Type * Drought_Months + (1|Estuary), data = mydata)
anova(m1)
summary(m1)
library(ggeffects)
ggpredict(m1, terms = "X135_degree_winds.standardised")

最后一行给出错误:

错误:在.data中找不到列cbind。 调用rlang::last_error()以查看回溯

我已经尝试了ggeffectssjPlot软件包,但都遇到了cbind命令的问题或找不到指定的变量。如果有人有任何解决方案,我将不胜感激!

根据我得到的评论回答我自己的问题。问题出在多项式中的cbind命令上。解决方案是更改模型结构以不包括cbind

与原始问题中的模型等效的模型是:

m2 <- lmer(CPUE.standardised ~ poly(X135_degree_winds.standardised, degree = 2) + 
poly(X45_degree_winds.standardised, degree = 2) + 
X135_degree_winds.standardised:X45_degree_winds.standardised+ 
Estuary_Type * Drought_Months + (1|Estuary), data = mydata)

然后,这允许计算边际效应。

还建议改进模型结构,如:

poly(X135_degree_winds.standardised, degree = 2)*
poly(X45_degree_winds.standardised, degree = 2)

最新更新