Phyloregion manual (5):indicators、long2sparse、map_trait 、
续标题:match_phylo_comm、mean_dist(没弄懂)、nodepie(也是白瞎)、optimal_phyloregion
#方便自己回来复习的个人学习记录,仅供参考,如有错误,请多指正
indicators 指示物种列表
该函数将KL-divergence方法应用于研究区的指示种列表。
KL-divergence又叫相对熵(relative entropy),衡量两个概率分布之间的不同程度。
示例:
data(africa)
之前也有看africa这个数据集里有些什么,这个theta对应了一个表,但是目前还不知道是怎么来的(不知道后面有没有)

indsp <- indicators(africa$theta, top_indicators = 5,options = "max", method = "poisson")
(数据,取前5个指示物种,选项“max”选择一个系统区域相对于所有其他系统区域最大KL差异的物种【min的时候相反】,方法为泊松分布【可为"bernoulli"伯努利分布】,shared默认FALSE【即不列出多个系统区域的顶级物种驱动模式】)

long2sparse 生成物种矩阵以及一系列的格式转换
这些函数将群落数据转换为压缩的稀疏矩阵、密集矩阵和长格式(如物种记录)。
long2sparse(x, grids = "grids", species = "species")
sparse2long(x)
dense2sparse(x)
sparse2dense(x)
long2dense(x)
dense2long(x)
示例:
data(africa)
africa$comm[1:5, 1:20]
这部分的几个命令就是根据数据生成africa里comm那样的矩阵,上面两行将comm的部分数据提取出来。
long <- sparse2long(africa$comm)
long[1:5, ]
转换格式并提取一部分,这里相当于是给我们看形成矩阵的原始数据吧,直接截图看一下long
下拉了一下看了一下,这个表格第一列指栅格,第二列为物种名,没一个物种列出所有分布栅格后,列下一个物种的分布。


sparse <- long2sparse(long)
再转换回矩阵
all.equal(africa$comm, sparse)
判断是否等效,返回为“TRUE”说明上面的来回转换并没有使其发生改变
dense_comm <- matrix(c(1,0,1,1,0,0,
1,0,0,1,1,0,
1,1,1,1,1,1,
0,0,1,1,0,1), 6, 4,
dimnames=list(paste0("g",1:6), paste0("sp", 1:4)))
dense_comm
生成了一个矩阵

sparse_comm <- dense2sparse(dense_comm)
sparse_comm
转换成了稀疏矩阵

sparse2long(sparse_comm)
也是一步转换
map_trait 将物种信息添加到地理地块中
直接示例吧:
x <- EDGE(africa$IUCN, africa$phylo, Redlist = "IUCN", species="Species")
给植物的濒危和独特性评分的,(3)里有介绍,返回的是物种跟评分对应的表。
y <- map_trait(africa$comm, x, FUN = sd, shp=africa$polys)
map_trait(各个栅格对应的矩阵,对应上上面的评分,对评分进行栅格内的物种计算【sd估计是标准差,sum是总和,这里没用】,然后在对应到fishnet地图上去。)内容存在y变量中,x的数据经过计算对应到地块最终储存在y$traits里。
plot_swatch(y, y$traits,col = hcl.colors(n=20, palette = "Blue-Red 3", rev=FALSE))
绘制变量的颜色映射图,hcl.colors()形成了一个梯度20的颜色向量。

match_phylo_comm 匹配phylo和comm
顾名思义,就是对比匹配这两个数据集的,因为phylo有可能不全,有些物种的系统发生位置并没有确定,但是研究区域里有这些物种。这个函数通过匹配后找出,在属水平上进行修剪便于后续的研究。
示例:
用法里match_phylo_comm(phy, comm, delete_empty_rows = TRUE)
delete_empty_rows = TRUE 意思是删除不需要的观察行,应该指没匹配上的删掉,强行剪齐,如果要添加信息到phylo里面应该得用其他的方式。
mean_dist 完全没弄懂……
nodepie 用饼图标记系统发育节点
目的很明确,但是用法没讲清楚,也没有示例。
nodepie( pie, radius = 2, pie_control = list(), legend = FALSE, col = hcl.colors(5), ... )
pie 为根据祖先的重建估计,radius饼图半径,list()不知道是需要怎样的一个列表。
两个重要输入不知道是啥样的,后面似乎没有相关内容了,不过这不是关键步骤就是了。
optimal_phyloregion 确定类群划分最佳方式
再次感慨示例的重要性:
bc <- beta_diss(africa$comm)
将Matrix数据处理便于后续 "sorensen"或 "jaccard"的计算,中间步骤的辅助函数。
(d <- optimal_phyloregion(bc[[1]]))
根据计算的系统发育β多样性矩阵得到各栅格的系统发育独特性指标与距离矩阵,根据矩阵聚类,划分生物地理分区,选择最佳的分区数目。最外面的括号加上就会直接打印出d,不加就不会打印。

k:划分的类群
totbss:类群间距离总平方和
tss:数据间的总平方和
ev: 给定k的被解释期望方差
plot(d$df$k, d$df$ev, ylab = "Explained variances",xlab = "Number of clusters")
画了分群数和期望方差的散点图
lines(d$df$k[order(d$df$k)], d$df$ev[order(d$df$k)], pch = 1)
散点图点之间连上了线
points(d$optimal$k, d$optimal$ev, pch = 21, bg = "red", cex = 3)
把最佳的划分方案标红点
points(d$optimal$k, d$optimal$ev, pch = 21, bg = "red", type = "h")
并在那个位置画条垂直线


