Phyloregion manual (3)coldspots & hotspots、collapse_range、count、
#方便自己回来复习的个人学习记录,仅供参考,如有错误,请多指正
写在前面:为啥说明书不按照工作流介绍啊,这岂不是学工作流的时候还要建个索引回来查吗
这一部分涉及生物冷点和热点的可视化,树节点折叠(貌似中间步骤?),根据性状生成稀疏矩阵(可能用于功能多样性分析?),计算EDGE(有用)
带问号的括号都是臆想,别信,有错的话教教我,我弄明白了后也可能回来修改,可能,大概
coldspots & hotspots 冷点热点可视化
描述:冷点和热点分别表示生物多样性指标(如物种丰富度、物种地方性或威胁程度)的最低值或最高值的区域或网格单元。
coldspots(x, prob = 2.5, na.rm = TRUE, ...) hotspots(x, prob = 2.5, na.rm = TRUE, ...)
x对应包含栅格化位置以及其内物种信息的稀疏矩阵,即comm数据,默认阈值prob为2.5%,默认删除没有数据的栅格后再做计算。
示例:
library(raster)
library(sp)
raster处理栅格数据,sp处理空间数据,之后也要画地图的(雾
data(africa)
names(africa)
载入数据,查看数据
Endm <- weighted_endemism(africa$comm)
这个应该是算了物种数跟面积的比吧,总之物种丰富度越高数值应该就越高,算是一个标准化的步骤?
C <- coldspots(Endm) # coldspots
H <- hotspots(Endm) # hotspots
直接默认参数将热点和冷点都计算和储存在两个变量中。
## Merge endemism values to shapefile of grid cells.(合并特有性值到栅格中)
DF <- data.frame(grids=names(C), cold=C, hot=H)
建立了一个表格统计冷点和热点,第一列为栅格名称,第二例第三例分别为冷点和热点的判断,可以看到之前Hotspot和coldspot都是逻辑判断性的,得到的结果在表格里表示为0,1

m <- merge(africa$polys, DF, by = "grids", all = TRUE)
merge合并数据框,合并项为栅格的位置信息polys和热点冷点判定结果DF,匹配依据栅格名称来合并。
plot(africa$polys, border = "grey", col = "lightgrey",main = "Weighted Endemism Hotspots and Coldspots")
先把栅格地图分布画出来(栅格位置信息,边框颜色灰色,栅格颜色浅灰色,标题“”)

plot(m[(m@data$cold == 1), ], col = "blue", add = TRUE, border = NA)
plot(m[(m@data$hot == 1), ], col = "red", add = TRUE, border = NA)
(m@data$hot == 1),判定是否为热点;m[(m@data$cold == 1), ],将判定为冷点的栅格取出,col=设定颜色,add=TRUE应该是指在原来的浅灰色上覆盖颜色,边界颜色未设定

legend("bottomleft", fill = c("blue", "red", "yellow", "green"),legend = c("coldspots", "hotspots"), bty = "n", inset = .092)
加上注释(位置是左下,填充颜色【因为只有两项,按顺序填充了蓝色和红色,后面两个没意义】,注释名称,是否带边框“o”是、“n”不是,向内距离0.092)


collapse_range 折叠树的节点
该函数根据物种在不同时间深度上的分化时间来折叠节点和地理范围。
示例:
library(ape)
加载ape,ape分析系统发育数据。
tr1 <- read.tree(text ="(((a:2,(b:1,c:1):1):1,d:3):1,e:4);")
text ="(((a:2,(b:1,c:1):1):1,d:3):1,e:4);"建了一棵树,括号内的两项为姐妹群,括号层层套反应进化关系。读取后存入tr1这个变量中。
可以用 plot(tr1) 这个命令来查看。

com <- matrix(c(1,0,1,1,0,0,
1,0,0,1,1,0,
1,1,1,1,1,1,
1,0,1,1,0,1,
0,0,0,1,1,0), 6, 5,
dimnames=list(paste0("g",1:6), tr1$tip.label))
这里建立了一个矩阵,描述了树中各个物种性征,就像性状矩阵或基因矩阵一样

collapse_range(com, tr1, n=1)
依照矩阵com对树tr1进行折叠,折叠程度为1的深度
得到两个群落结构列表(有啥用?所以这也是个中间步骤?):一个折叠的一个原始的,如下


collapse_range( x, tree, n, species = "species", grids = "grids", format = "wide" )
x对应一个矩阵或数据框,tree对应系统发生树,n对应深度,format描述数据框,为“long”时,specie=“物种所在列”,grids对应地点所在列
counts 根据功能性状生成稀疏矩阵
根据物种间功能性状的相似性,生成稀疏的群落矩阵作为聚类模块的输入。
没有示例,看一下用法。
counts(x, trait, cut = NULL, phy = NULL, bin = 10, na.rm = FALSE)
x应该是一个表,记录了栅格名及其内物种信息。
trait对应一个形状表,第一列为物种名,后面每列对应一个形状(性状矩阵?)
cut The slice time (完全不理解)
phy 是带枝长信息的树,应该就像africa$phylo一样。
bin 要聚成几类的指定数目
na.rm 逻辑判断,是否删除NA项
返回的值应该像africa$comm,但是没法确定,没实例的话好难理解……
EDGE 进化独特性与全球濒危
结合被国际自然保护联盟(IUCN)定义为全球濒危(GE)和进化独特性(像银杏单科单属)来计算EDGE(Evolutionary Distinctiveness and Global Endangerment)
EDGE计算公式:
log(1 + ED) + GE ∗ log(2)
其中ED表示各物种的进化显著性评分(函数evol_distinct),即系统发育隔离程度,并将其与GE结合,从世界自然保护联盟的保护威胁类别。GE计算为系统发育过程中每个分类单元在100年内灭绝的预期概率(Redding & Mooers, 2006),按以下比例计算:最不受关注= 0.001,近受威胁和保护依赖性= 0.01,脆弱= 0.1,濒危= 0.67,极度濒危= 0.999
命令用法:EDGE(x, phy, Redlist = "Redlist", species = "species", ...)
示例:
(就,特感动,有示例就可以瞎试助于理解)
x是物种对应的IUCN评级表,phy是系统关系数据phylo,后面指定x中的列名。
得到的y是个数值型,可以转换成表格方便储存和查看。
