R语言:数量生态学学习笔记——doubs数据探索(1)

数据提取

1、安装doubs数据所在的包并载入

install.packages(“ade4”)
library(ade4)

2、找到ade4中的数据集“doubs”,并对之后要用到的变量进行提取

data(doubs,package=“ade4”)
env<-doubs$env
spe<-doubsSspecies #美元符号打不出来用大写的S代替了
spa<-doubsSxy #美元符号打不出来用大写的S代替了

env是doubs数据中11个环境变量
spe是27种鱼类在每个样方的多度
spa是每个样方的位置(笛卡尔坐标系)

数据初探

spe[1:5,1:10] #spe的一到五行和一到十列
head(spe) #spe的前六行
nrow(spe);ncol(spe);dim(spe) #spe的行数,列数,维度
colnames(spe);rownames(spe)#提取列名,行名
summary(spe)#对列变量进行描述性统计
在这里插入图片描述

查看物种多度分布是否对称

range(spe)
range(spe) #多度范围
ab<-table(unlist(spe));ab
barplot(ab,las=1,xlab = “Abundance class”,ylab = “Frequency”,col = gray(5:0/5))
#每种多度值的数量并绘制柱状图
在这里插入图片描述
sum(spe=0)
sum(spe=0)/(nrow(spe)*ncol(spe))#多度为0所占的比例

我们发现对数据的初步探索并不能观察到有规律和价值的信息,因此要对数据进行下一步分析

进一步分析

1、样方位置地图

plot(spa, asp=1, type=“n”, main=“样方位置”,xlab=“x坐标 (km)”, ylab=“y坐标 (km)”)
lines(spa, col=“light blue”)
text(spa, row.names(spa), cex=0.8, col=“red”)
text(70, 10, “上游”, cex=1.2, col=“red”)
text(20, 120, “下游”, cex=1.2, col=“red”)

在这里插入图片描述

2、鱼类分布地图

par(mfrow=c(2,2))
plot(spa, asp=1, col=“brown”, cex=speSAbbr, main=“欧鳊”,
xlab=“x坐标 (km)”, ylab=“y坐标 (km)”)
lines(spa, col=“light blue”)
plot(spa, asp=1, col=“brown”, cex=speSCogo, main=“茴鱼”,
xlab=“x坐标 (km)”, ylab=“y坐标 (km)”)
lines(spa, col=“light blue”)
plot(spa, asp=1, col=“brown”, cex=speSBaba, main=“鲃鱼”,
xlab=“x坐标 (km)”, ylab=“y坐标 (km)”)
lines(spa, col=“light blue”)
plot(spa, asp=1, col=“brown”, cex=speSNeba, main=“褐鳟”,
xlab=“x坐标 (km)”, ylab=“y坐标 (km)”)
lines(spa, col=“light blue”)

在这里插入图片描述

3、每个物种出现的样方数

spe.pres <- apply(spe > 0, 2, sum) #按列求和
sort(spe.pres) #升序排列
spe.relf <- 100*spe.pres/nrow(spe) #频数百分比
round(sort(spe.relf), 1) #一位小数
par(mfrow=c(1,2)) # 将绘图窗口垂直一分为二
hist(spe.pres, main=“物种出现数”, right=FALSE, las=1,xlab=“出现数”, ylab=“物种数量” ,breaks=seq(0,30,by=5), col=“bisque”)
hist(spe.relf, main=“物种相对频度”, right=FALSE, las=1, xlab=“出现率(%)”, ylab=“物种数量”,breaks=seq(0, 100, by=10), col=“bisque”)

在这里插入图片描述

4、每个样方的物种丰富度

sit.pres <- apply(spe > 0, 1, sum)
sort(sit.pres)
par(mfrow=c(1,2))
plot(sit.pres,type=“s”, las=1, col=“gray”,
main=“物种丰富度-上下游的梯度”,
xlab=“样方沿着河流的位置”, ylab=“物种丰富度”)
text(sit.pres, row.names(spe), cex=.8, col=“red”)#不同样方的物种丰富度
plot(spa, asp=1, main=“物种丰富度地图”, pch=21, col=“white”,
bg=“brown”, cex=5*sit.pres/max(sit.pres), xlab=“x坐标 (km)”,
ylab=“y坐标 (km)”)
lines(spa, col=“light blue”)#物种丰富度地图在这里插入图片描述

可以看出上游和中游是物种丰富度高的地区
5、计算生物多样性指数

library(vegan)
N0 <- rowSums(spe > 0)
H <- diversity(spe)
N1 <- exp(H)
N2 <- diversity(spe, “inv”)
J <- H/log(N0)
E1 <- N1/N0
E2 <- N2/N0
(divers <- data.frame(N0, H, N1, N2, E1, E2, J)) # 输出值分别是物种丰富度、Shannon熵指数、Shannon多样性指数、Simpson多样性指数、Pielou均匀度、Shannon均匀度(Hill比率)、Simpson均匀度
在这里插入图片描述