我目前正在研究一个具有 3 个固定效应和一个随机效应的广义混合效应模型。就像背景一样,随机效应是池塘数(中宇宙),响应变量是叶绿素-a 的量(连续数据),我的固定效应是两种处理:1)养分富集和 2)WLF,两者都是二进制是/否类型数据。第三个固定效果是深度(0.1 米和 0.8 米) 无论如何,我创建了一个 glmer,其中所有三个固定效果和随机效果都具有充分的交互作用,如下所示:
GHQ<-glmer(CHa.t ~ Nutrients * WLF * depth * (1|mesocosm), family = gaussian(link = "log"), data = microalgae, nAGQ = 100)
该模型的总结表明,叶绿素-a 的养分富集、wlf和深度之间存在显着的相互作用。
我的问题是当三个固定术语之间存在交互时如何进行事后测试?我已经尝试过glht
,ls_means
但都导致了错误。
这是相关数据(抱歉,我必须复制所有行才能使其工作):
结构(列表(中宇宙=结构(c(2L,2L,10L,10L,15L,15L,18L,18L,22L,22L,23L,23L,24L,24L,5L,5L,6L,6L,8L,8L, 9L, 9L, 14L, 14L, 25L, 25L, 26L, 26L, 1L, 1L, 3L, 3L, 7L, 7L, 11L, 11L, 13L, 13L, 16L, 16L, 20L, 20L, 4L, 4L, 12L, 12L, 17L, 17L, 19L, 19L, 21L, 21L, 27L, 27L, 28L, 28L), .Label = c("1", "2", "3", "4", "5", "6 ”、“7”、“8”、“9”、“10”、“11”、“12”、“13”、“14”、“15”、“16”、“17”、“18”、 “19”、“20”、“21”、“22”、“23”、“24”、“25”、“26”、“27”、“28”),类别=“因子”),营养素=结构(c(1L,1L,1L,1L,1L,1L,1L,1L,1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("0", "1"), class = "factor"), WLF = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,1L,1L,1L,1L,1L,1L,1L,1L,1L,1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("0", "1") , 类 = "因子"), 深度 = c(0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8, 0.1, 0.8,0.1、0.8、0.1、0.8、0.1、0.1、0.1、0.1、0.1、0.8、0.1、0.8、0.1、0.1、0.8、0.1、0.8),chl.a = C(3.301666667、4.0266666666667、2.54、2.54 , 1.841666667, 1.968333333, 1.493333333, 3.321666667, 2.78, 2.078333333, 3.633333333, 2.621666667, 2.641666667, 4.991666667, 1.521666667, 2.118333333, 3.061666667, 6.083333333, 2.343333333, 4.406666667, 2.243333333, 3.03, 5.155, 3.723333333, 2.43, 2.06, 8.943333333, 5.346666667, 6.161666667 , 4.730833333, 7.336666667, 6.958333333, 8.888333333, 1.898333333, 9.978333333, 7.951666667, 10.09333333, 7.516666667, 10.62666667, 3.043333333, 4.621666667, 7.798333333, 2.79, 7.926666667, 4.403333333, 3.85, 5.581666667, 8.18, 2.795, 5.946666667, 4.093333333, 8.5, 7.356666667, 9.861666667 )), row.names = c(NA, 56L),类=“data.frame”)
这是我使用的软件包:
if(!require(psych)){install.packages("car")}
if(!require(MASS)){install.packages("MASS")}
if(!require(rcompanion)){install.packages("rcompanion")}
if(!require(lme4)){install.packages("lme4")
if(!require(mlmRev)){install.packages("mlmRev")}
if(!require(ggplot2)){install.packages("ggplot2")}
if(!require(nlme)){install.packages("nlme")}
if(!require(agricolae)){install.packages("agricolae")}
if(!require(multcomp)){install.packages("multcomp")}
这是我用于模型的代码块:
CHa=microalgae$Chl.a
library("mlmRev")
GHQ<-glmer(CHa ~ Nutrients * WLF * depth * (1|mesocosm), family = gaussian(link = "log"), data = microalgae, nAGQ = 100)
summary(GHQ)
overdisp_fun(GHQ)
plot(GHQ)
qqnorm(resid(GHQ))
qqline(resid(GHQ))
这是我的“ls_means”代码和我得到的错误:
library(lmerTest)
ls_means(GHQ, pairwise~ depth*Nutrients*WLF, adjust="tukey")
UseMethod(“ls_means”)中的错误:没有适用于“ls_means”的方法应用于类“c('glmerMod','merMod')”的对象
我现在真的意识到我真的不知道如何使用 glht。