相对重要性分析

 在生态环境领域中,有时候我们要分析多个解释变量对响应变量的影响,当含有多个响应变量时,为了方便展示,我们可以bar图对结果展示。R的relaimpo程序包有多种模式计算解释变量的重要性,这里以“lmg”模式为例。

library(relaimpo)
library(vegan)
fc=read.csv("D:\\wykt\\factor.csv",header = T,row.names = 1)###解释因子
sp=read.csv("D:\\wykt\\sp.csv",header = T,row.names = 1)####响应变量
spp=decostand(sp,method = "hellinger")
fcc=log10(fc)
dt=as.data.frame(cbind(spp,fcc))
dat=list()
###因为我的响应变量数据是在1到16列,这里根据自己的数据做修改
for (i in 1:16) {
  re=calc.relimp(dt[,i]~pH+SOM+AP+N,data=dt,rank = F,
                 rela=T,type="lmg")
  dat[[i]]=re@lmg
}
uu1=as.data.frame(dat)
colnames(uu1)=as.data.frame(colnames(dt))[c(1:16),]
####直接基于上面的数据画图
library(ggplot2)
library(reshape2)
library(dplyr)
pp=as.data.frame(cbind(uu1,se=row.names(uu1)))
io=melt(pp,id.vars = "se",value.name = "vv",variable.name = "sps")####把宽数据变为长数据
ggplot(data=io,aes(x=sps,y=vv,fill=se))+
  geom_bar(position = "fill",stat = "identity",width = 0.9)+
  geom_text(data =io %>% filter(round(vv,digits = 2) >0.1),aes(label=round(vv,digits = 2)),position = "fill",size=3,
            hjust="inward",vjust=-0.5,stat = "identity")+
  ylab("Relative importances")+xlab("species")+
  scale_fill_manual(values = c(37,"purple",75,"tan",62,"yellow",160,"red",100,"pink",1,120,20))+
  scale_y_reverse(expand = c(0,0),labels  = c("1","0.75","0.50","0.25","0"))+
  theme_classic()+
  theme(axis.text.x = element_text(color = "black",size = 8,angle = 90))+
  theme(axis.text.y = element_text(color = "black",size = 8))+
  theme(legend.position = "right",legend.text = element_text(size = 15),
        panel.grid =element_blank())+
  guides(fill=guide_legend(title=NULL,color="black",reverse=TRUE))

在这里插入图片描述
 上图,我们可以看出每个解释变量对响应变量的影响大小,并且是定量的。对于bar图的颜色修改,可根据期刊要求或自己喜好进行修改(代码调整),对于图中数字的位置可用AI软件移动(若是用代码修改,估计是得不偿失)。类似的分析方法有可定量的集成推进树、广义提升回归模型以及随机森林。对生态环境领域数据分析及绘图感兴趣的朋友,欢迎加QQ群335774366,以便交流、学习。
声明:以上代码及观点,仅供参考。

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值