glmm.hp函数输入只有一个参数mod, 需要的注意的是,mod是lme4或是nlme包给出的广义混合效应模型。glmm.hp的工作流程是从mod里面提取公式和变量,以及原始数据,然后再进一步进行共性分析。如果mod里面带有别的运算,会导致提取变量的名称出现错误,就会导致后面的错误。如下案例,比如对变量进行scale标准化, 或是转化为高阶变量,均不行。那如果需要对变量进行数据转换,只能在输入模型之前提前做好转换。
> mod1 <- lmer(Sepal.Length ~ Petal.Length + Petal.Width +(1 | Species), data = iris)
> glmm.hp(mod1)
$r.squaredGLMM
R2m R2c
[1,] 0.6590738 0.9688405
$hierarchical.partitioning
Unique Average.share Individual I.perc(%)
Petal.Length -0.0085 0.3335 0.3250 49.31
Petal.Width 0.0006 0.3335 0.3341 50.69
#如果给Petal.Length加个scale,结果就不对了,只能提前做scale再放进来
mod1 <- lmer(Sepal.Length ~ scale(Petal.Length) + Petal.Width +(1 | Species), data = iris)
glmm.hp(mod1)
Error in glmm.hp(mod1) :
Analysis not conducted. Insufficient number of predictors.
#如果给Petal.Length做个二次方,也不对了。只能提前做二次方再放入模型。
mod1 <- lmer(Sepal.Length ~ I(Petal.Length^2) + Petal.Width +(1 | Species), data = iris)
glmm.hp(mod1)
Error in glmm.hp(mod1) :
Analysis not conducted. Insufficient number of predictors.
转载本文请联系原作者获取授权,同时请注明本文来自赖江山科学网博客。
链接地址:https://wap.sciencenet.cn/blog-267448-1353846.html?mobile=1
收藏