phylolm.hp新包发布,用于量化谱系、环境因子对性状变异影响

文摘   2024-11-11 09:45   江苏  

在生态学和进化生物学中,探索性状功能与谱系、环境因子之间的关系已成为研究热点。系统发育广义最小二乘(PGLS)分析被广泛应用于估计性状与谱系及环境因子之间的关系。借助 R 语言中的phylolm包phylolm()和phyloglm()函数,结合rr2包中的 R2_lik()函数(极大似然法估算模型拟合度),为分析连续性状和分类性状与环境因子及谱系之间的关联提供了有力工具。不少研究通常采用全模型(full model)和缩减模型(reduced model)的拟合度差值来评估谱系和环境因子对性状的独立(unique)解释比例。这一方案存在两方面的不足:1. 由于存在共线性,环境因子和谱系的独立解释之和往往不等于全模型的总R²,难以全面反映各因素的实际影响。2. 不能展示环境因子之间及其与谱系的共同解释部分,这对于理解厘清性状演化中的多重影响因素尤为重要。

为克服这些不足,我们利用“平均共享方差理论”(Lai et al. 2022,2023,2024)解决该问题,并开发了新的 R 包 phylolm.hp来实现。通过此包中phyloglm.hp()函数,研究者可以对phylolm()和phyloglm()输出的模型进行 R² 分解,不仅能获得环境因子、谱系对性状变异的单个R²(individual R²)(各个individual R²总和刚好等于全模型的总 R²);还能够清晰展现环境因子与谱系之间的共享R², 从而量化研究谱系和环境因子对性状的影响。当环境变量少于 3 个时,phylolm.hp 还可生成更直观的变差分解韦恩图。

目前 phylolm.hp包现已上传至github平台(已经提交给CRAN,但是是新包还在等CRAN核心团队人工审核),我们诚邀各位用户安装并尝试运行此包,帮助我们不断优化和完善。若有任何问题或建议,欢迎通过电子邮件与我联系:lai@njfu.edu.cn

phyloglm.hp()函数只需要2个输入参数:mod是phylolm中包中phyloglm()和phylolm()函数输出的模型对象、以及一个逻辑参数,用于控制是否输出commonality分析结果。此外,我们还提供了S3泛函数plot()进行绘图。为了方便大家快速体验phylolm.hp包的功能,附上了简单的安装及测试代码。期待与您一同探索“平均共享方差”这一理论更多的拓展,共同推动生态统计模型的发展与应用。

以下是用模拟数据形成的案例,期望大家用真实数据进行测试:

#install.packages("phylolm.hp")

library(devtools)

install_github('laijiangshan/phylolm.hp',build_vignettes = TRUE)

library(phylolm.hp)

library(phylolm)

library(rr2)

#连续变量

set.seed(231)

tre <- rcoal(60)

taxa <- sort(tre$tip.label) 

b0 <- 0      

b1 <- 0.3    

b2 <- 0.5 

x <- rTrait(n=1, phy=tre, model="lambda", parameters=list(ancestral.state=0, sigma2=15, lambda=0.9))          

x2 <- rTrait(n=1, phy=tre, model="lambda",  

parameters=list(ancestral.state=0, sigma2=10, lambda=0.9))          

y <- b0 + b1 * x + b2 * x2 + rTrait(n=1, phy=tre, model="lambda",

parameters=list(ancestral.state=0, sigma2=5, lambda=0.9))            

dat <- data.frame(trait=y[taxa], pred=x[taxa], pred2=x2[taxa])

fit <- phylolm(trait ~ pred + pred2, data=dat, phy=tre, model="lambda")

fithp <-  phyloglm.hp(fit,commonality=TRUE)

fithp

plot(fithp)

plot(fithp,commonality=TRUE)

#二元变量

set.seed(123456)

tre <- rtree(50)

x1 <- rTrait(n=1, phy=tre)  

x2 <- rTrait(n=1, phy=tre)

X <- cbind(rep(1, 50), x1, x2)

y <- rbinTrait(n=1, phy=tre, beta=c(-1, 0.5, 0.8), alpha=1, X=X)

dat <- data.frame(trait01=y, predictor1=x1, predictor2=x2)

fit2 <- phyloglm(trait01 ~ predictor1 + predictor2, phy=tre, data=dat)

fithp2 <-  phyloglm.hp(fit2,commonality=TRUE)

fithp2

plot(fithp2)




参考文献:

1.Jiangshan Lai*, Yi Zou, Jinlong Zhang, Pedro R. Peres-Neto. 2022. Generalizing hierarchical and variation partitioning in multiple regression and canonical analyses using the rdacca.hp R package. Methods in Ecology and Evolution,13:782-788

2. Jiangshan Lai*, Yi Zou, Shuang Zhang, Xiaoguang Zhang. Lingfeng Mao.2022. glmm.hp: an R package for computing individual effect of predictors in generalized linear mixed models. Journal of Plant Ecology 15(6):1302-1307. https://doi.org/10.1093/jpe/rtac096.

3. Jiangshan Lai*, Weijie Zhu, Dongfang, Cui, Lingfeng Mao. 2023. Extension of the glmm.hp Package to Zero-Inflated Generalized Linear Mixed Models and Multiple Regression,Journal of Plant Ecology 16(6):rtad038, https://doi.org/10.1093/jpe/rtad038

4. Jiangshan Lai, Jing Tang, TingyuanLi, AiyingZhang, Lingfeng Mao. 2024. Evaluating the relative importance of predictors in Generalized Additive Models using the gam.hp R package. Plant Diversity. 46:542-546 



数量生态学与R语言
多元统计、一元统计、R程序包开发及R语言应用的推广。
 最新文章