为什么我的 lmer 输出忽略变量中的组?

问题描述

对于一些背景:我试图看到 3 种不同的红树林物种(A、L 和 R)对沉积物特征的影响,在这种情况下,因变量是 pH 值。我有 10 个站点,它们被编码为随机效应。

SedLayer 表示收集在三个物种中的每一个附近的站点上收集的沉积物的顶层 (1) 和底层 (9)。现在,当我运行我的 lmer 代码时,我得到一个奇怪的结果,其中只显示了两个物种,同样对于沉积层,只显示了第 9 层。

当我在对象上运行方差分析 (respH) 时,我得到“可理解”的结果,显示 Species、SedLayer 和 Species:SedLayer。但是,在构建我的表时,不接受方差分析结果。我已经尝试过 sjplots 和 gtsummary,这两个包都拒绝使用 anova 结果,并且只使用我的 lmer 结果 (respH)。

library("car")
library("lme4")
library("reprex")
library("dplyr")
library("sjplot")
library("datapasta")

dat <- dput(Dataset_1_1 %>% select(2:5,))
#> Error in select(.,2:5,): object 'Dataset_1_1' not found

dat$Species <- as.factor(dat$Species)
#> Error in is.factor(x): object 'dat' not found
dat$`Sed. Layer` <- as.factor(dat$`Sed. Layer`)
#> Error in is.factor(x): object 'dat' not found
dat$Site <- as.factor(dat$Site)
#> Error in is.factor(x): object 'dat' not found

str(dat)
#> Error in str(dat): object 'dat' not found

colnames(dat) <- c("Species","Site","SedLayer","pH")
#> Error in colnames(dat) <- c("Species","pH"): object 'dat' not found

dat <- tibble::tribble(
       ~Species,~Site,~SedLayer,~pH,"A","1",6.361,"9",6.602,"2",5.83,6.053,"3",7.03,6.65,"4",6.579,6.436,"5",6.411,5.962,"6",6.914,6.693,"7",5.987,5.717,"8",5.606,5.28,6.783,6.922,"10",7.703,6.251,"L",6.55,6.705,7.184,6.814,6.552,6.555,6.638,5.943,6.32,6.738,6.313,5.971,4.963,5.274,6.443,6.293,7.247,6.25,"R",5.443,4.89,6.055,4.74,6.731,6.563,6.303,6.264,5.71,6.087,4.045,5.026,5.835,5.375,5.332,5.579,6.141,6.508,7.354,6.783
       )

#lme4

respH <- lmer(pH ~ SedLayer * Species + (+1|Site),data = dat)
summary(respH)
#> Linear mixed model fit by REML ['lmerMod']
#> Formula: pH ~ SedLayer * Species + (+1 | Site)
#>    Data: dat
#> 
#> REML criterion at convergence: 103.8
#> 
#> Scaled residuals: 
#>     Min      1Q  Median      3Q     Max 
#> -3.3479 -0.5001 -0.0156  0.5340  1.6956 
#> 
#> Random effects:
#>  Groups   Name        Variance Std.Dev.
#>  Site     (Intercept) 0.2054   0.4532  
#>  Residual             0.2448   0.4947  
#> Number of obs: 58,groups:  Site,10
#> 
#> Fixed effects:
#>                    Estimate Std. Error t value
#> (Intercept)         6.52040    0.21217  30.731
#> SedLayer9          -0.26380    0.22126  -1.192
#> SpeciesL           -0.09062    0.22847  -0.397
#> SpeciesR           -0.62550    0.22126  -2.827
#> SedLayer9:SpeciesL  0.07858    0.32148   0.244
#> SedLayer9:SpeciesR  0.15040    0.31291   0.481
#> 
#> Correlation of Fixed Effects:
#>             (Intr) SdLyr9 SpecsL SpecsR SL9:SL
#> SedLayer9   -0.521                            
#> SpeciesL    -0.505  0.484                     
#> SpeciesR    -0.521  0.500  0.484              
#> SdLyr9:SpcL  0.359 -0.688 -0.704 -0.344       
#> SdLyr9:SpcR  0.369 -0.707 -0.342 -0.707  0.487


AnorespH <- Anova(respH)
AnorespH
#> Analysis of Deviance Table (Type II Wald chisquare tests)
#> 
#> Response: pH
#>                    Chisq Df Pr(>Chisq)    
#> SedLayer          2.0837  1  0.1488746    
#> Species          14.8467  2  0.0005972 ***
#> SedLayer:Species  0.2312  2  0.8908424    
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#sjplot

tab_model(respH,show.df = TRUE)

如果不清楚,我很抱歉,我是复杂统计数据的新手,也是 R 的新手,也是这个论坛的新手。

这是表格的屏幕截图,因为它没有正确显示在 reprex sjPlot table

预先感谢您提供的任何意见!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)