赖江山的博客分享 http://blog.sciencenet.cn/u/laijiangshan 生态、统计与R语言

博文

glmm.hp函数中输入的模型,一定不能带有对变量处理的运算

已有 3288 次阅读 2022-9-3 14:19 |个人分类:glmm|系统分类:科研笔记

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://blog.sciencenet.cn/blog-267448-1353846.html

上一篇:2022年的中国生态学大会,希望能如期举办(8月26-29日,贵阳)
下一篇:消除共线性并不是我们拟合模型的目标(回答某老师的问题)
收藏 IP: 222.129.4.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-24 14:40

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部