欢迎光临散文网 会员登陆 & 注册

Phyloregion manual (5):indicators、long2sparse、map_trait 、

2022-06-29 23:02 作者:猫腻需要更多的学习  | 我要投稿

续标题: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【即不列出多个系统区域的顶级物种驱动模式】)


物种名在top_feature中列出

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")

并在那个位置画条垂直线


Phyloregion manual (5):indicators、long2sparse、map_trait 、的评论 (共 条)

分享到微博请遵守国家法律