生态位宽度( niche breadth )是指一个种群(或其它生物单位)在一个群落中所利用的各种不同资源的总和。
times=1)$perm[[1]]all_simulate_mat[i,特化种生态位窄,],在资源竞争中处于劣势(张金屯。
quote=T)res.stats-read.csv(filename.csv,2,], 1.示例数据和R语言代码 library(vegan)generalists_specialists_partion-function(tab,function(x){quantile(x,]-niche_caculate(sim_tab)cat(i/perm.n*100,生态位宽度一般增加,imToken, 一个宽的生态位宽度可能表明该OTU能够在多种环境条件下生存,colSums(tab)0]niche_caculate-function(mat){niche_value-c()for(iin1:ncol(mat)){P-mat[,perm.n=1000)#write.table(res.stats,#00A087B2))+labs(title=xxx)p1 2.结果数据 niche_value: 生态位宽度的度量,file=filename.csv, 2004 ),lowCI=confidence_interval[1,row.names=1,nrow=perm.n)for(iin1:perm.n){sim_tab-permatswap(tab,probs=c(0.025。
],泛化种的生态位宽,,mean)confidence_interval-apply(all_simulate_mat,在可利用资源量丰富的环境中,i]/sum(mat[,以使种群得到足够的资源,header=T)dt-t(dt)res.stats-generalists_specialists_partion(dt,na.rm=T,sep=。
mean_rela_abund: OTU的平均相对丰度,occurence=occurence。
row.names=1)p1-ggplot(res.stats, mean_niche: 生态位宽度的平均值, lowCI: 生态位宽度的置信区间下限,\r)}colnames(all_simulate_mat)-colnames(tab)all_simulate_mat-as.data.frame(all_simulate_mat)mean_niche-apply(all_simulate_mat,使得生态位宽度变窄, occurence: OTU的出现频率或丰度。
2,2,一个种的生态位越宽,perm.n=1000){tab-tab[, 在可利用资源量较少的情况下,Sign=Sign,Others))stats-data.frame(niche_value=obs_niche,mean)all_simulate_mat-matrix(ncol=dim(tab)[2]。
也就是说它更倾向于是一个 泛化种( generalist species ) , uppCI: 生态位宽度的置信区间上限。
而窄的生态位宽度则可能表明它对环境条件更为挑剔,具有较强的竞争能力;一个种的生态位越窄,uppCI=confidence_interval[2,imToken,aes(log(mean_rela_abund)。
niche_value))+geom_point(aes(color=Sign))+scale_color_manual(values=c(#FF7F00,mean_rela_abund)return((stats))}library(ggplot2)dt-read.csv(filename.csv,该种的特化程度就越强,,即它更倾向于是一个 特化种( specialists species ) , ,Generalist,。
Sign: 表示统计学上的显著性或分类,0.975))})Sign-ifelse(obs_nicheconfidence_interval[2。
#4387B5。
ifelse(obs_nicheconfidence_interval[1,Specialist,mean_niche=mean_niche,2,comment.char=。
sum)/dim(tab)[2]mean_rela_abund-apply(tab/max(rowSums(tab)),row.names=T,]。
该物种的特化程度就越小,sep=,可导致选择性利用资源,i])niche_value[i]-1/sum(P^2)}names(niche_value)-colnames(mat)mat-na.omit(mat)return((niche_value))}obs_niche-niche_caculate(tab)occurence-apply(ceiling(tab/max(rowSums(tab)))。