Phyloregion manual (5):indicators、long2sparse、map_trait 、
續(xù)標(biāo)題:match_phylo_comm、mean_dist(沒(méi)弄懂)、nodepie(也是白瞎)、optimal_phyloregion
#方便自己回來(lái)復(fù)習(xí)的個(gè)人學(xué)習(xí)記錄,僅供參考,如有錯(cuò)誤,請(qǐng)多指正??
indicators? 指示物種列表
該函數(shù)將KL-divergence方法應(yīng)用于研究區(qū)的指示種列表。
KL-divergence又叫相對(duì)熵(relative entropy),衡量?jī)蓚€(gè)概率分布之間的不同程度。
示例:
data(africa)
之前也有看africa這個(gè)數(shù)據(jù)集里有些什么,這個(gè)theta對(duì)應(yīng)了一個(gè)表,但是目前還不知道是怎么來(lái)的(不知道后面有沒(méi)有)

indsp <- indicators(africa$theta, top_indicators = 5,options = "max", method = "poisson")
(數(shù)據(jù),取前5個(gè)指示物種,選項(xiàng)“max”選擇一個(gè)系統(tǒng)區(qū)域相對(duì)于所有其他系統(tǒng)區(qū)域最大KL差異的物種【min的時(shí)候相反】,方法為泊松分布【可為"bernoulli"伯努利分布】,shared默認(rèn)FALSE【即不列出多個(gè)系統(tǒng)區(qū)域的頂級(jí)物種驅(qū)動(dòng)模式】)

long2sparse? 生成物種矩陣以及一系列的格式轉(zhuǎn)換
這些函數(shù)將群落數(shù)據(jù)轉(zhuǎn)換為壓縮的稀疏矩陣、密集矩陣和長(zhǎng)格式(如物種記錄)。
long2sparse(x, grids = "grids", species = "species")
sparse2long(x)
dense2sparse(x)
sparse2dense(x)
long2dense(x)
dense2long(x)
示例:
data(africa)
africa$comm[1:5, 1:20]
這部分的幾個(gè)命令就是根據(jù)數(shù)據(jù)生成africa里comm那樣的矩陣,上面兩行將comm的部分?jǐn)?shù)據(jù)提取出來(lái)。
long <- sparse2long(africa$comm)
long[1:5, ]
轉(zhuǎn)換格式并提取一部分,這里相當(dāng)于是給我們看形成矩陣的原始數(shù)據(jù)吧,直接截圖看一下long
下拉了一下看了一下,這個(gè)表格第一列指柵格,第二列為物種名,沒(méi)一個(gè)物種列出所有分布柵格后,列下一個(gè)物種的分布。


sparse <- long2sparse(long)
再轉(zhuǎn)換回矩陣
all.equal(africa$comm, sparse)
判斷是否等效,返回為“TRUE”說(shuō)明上面的來(lái)回轉(zhuǎn)換并沒(méi)有使其發(fā)生改變
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
生成了一個(gè)矩陣

sparse_comm <- dense2sparse(dense_comm)
sparse_comm
轉(zhuǎn)換成了稀疏矩陣

sparse2long(sparse_comm)
也是一步轉(zhuǎn)換
map_trait? 將物種信息添加到地理地塊中
直接示例吧:
x <- EDGE(africa$IUCN, africa$phylo, Redlist = "IUCN", species="Species")
給植物的瀕危和獨(dú)特性評(píng)分的,(3)里有介紹,返回的是物種跟評(píng)分對(duì)應(yīng)的表。
y <- map_trait(africa$comm, x, FUN = sd, shp=africa$polys)
map_trait(各個(gè)柵格對(duì)應(yīng)的矩陣,對(duì)應(yīng)上上面的評(píng)分,對(duì)評(píng)分進(jìn)行柵格內(nèi)的物種計(jì)算【sd估計(jì)是標(biāo)準(zhǔn)差,sum是總和,這里沒(méi)用】,然后在對(duì)應(yīng)到fishnet地圖上去。)內(nèi)容存在y變量中,x的數(shù)據(jù)經(jīng)過(guò)計(jì)算對(duì)應(yīng)到地塊最終儲(chǔ)存在y$traits里。
plot_swatch(y, y$traits,col = hcl.colors(n=20, palette = "Blue-Red 3", rev=FALSE))
繪制變量的顏色映射圖,hcl.colors()形成了一個(gè)梯度20的顏色向量。

match_phylo_comm? 匹配phylo和comm
顧名思義,就是對(duì)比匹配這兩個(gè)數(shù)據(jù)集的,因?yàn)閜hylo有可能不全,有些物種的系統(tǒng)發(fā)生位置并沒(méi)有確定,但是研究區(qū)域里有這些物種。這個(gè)函數(shù)通過(guò)匹配后找出,在屬水平上進(jìn)行修剪便于后續(xù)的研究。
示例:
用法里match_phylo_comm(phy, comm, delete_empty_rows = TRUE)
delete_empty_rows?= TRUE? 意思是刪除不需要的觀察行,應(yīng)該指沒(méi)匹配上的刪掉,強(qiáng)行剪齊,如果要添加信息到phylo里面應(yīng)該得用其他的方式。
mean_dist? ?完全沒(méi)弄懂……
nodepie? 用餅圖標(biāo)記系統(tǒng)發(fā)育節(jié)點(diǎn)
目的很明確,但是用法沒(méi)講清楚,也沒(méi)有示例。
nodepie( pie, radius = 2, pie_control = list(), legend = FALSE, col = hcl.colors(5), ... )
pie 為根據(jù)祖先的重建估計(jì),radius餅圖半徑,list()不知道是需要怎樣的一個(gè)列表。
兩個(gè)重要輸入不知道是啥樣的,后面似乎沒(méi)有相關(guān)內(nèi)容了,不過(guò)這不是關(guān)鍵步驟就是了。
optimal_phyloregion? 確定類(lèi)群劃分最佳方式
再次感慨示例的重要性:
bc <- beta_diss(africa$comm)
將Matrix數(shù)據(jù)處理便于后續(xù)?"sorensen"或 "jaccard"的計(jì)算,中間步驟的輔助函數(shù)。
(d <- optimal_phyloregion(bc[[1]]))
根據(jù)計(jì)算的系統(tǒng)發(fā)育β多樣性矩陣得到各柵格的系統(tǒng)發(fā)育獨(dú)特性指標(biāo)與距離矩陣,根據(jù)矩陣聚類(lèi),劃分生物地理分區(qū),選擇最佳的分區(qū)數(shù)目。最外面的括號(hào)加上就會(huì)直接打印出d,不加就不會(huì)打印。

k:劃分的類(lèi)群
totbss:類(lèi)群間距離總平方和
tss:數(shù)據(jù)間的總平方和
ev: 給定k的被解釋期望方差
plot(d$df$k, d$df$ev, ylab = "Explained variances",xlab = "Number of clusters")
畫(huà)了分群數(shù)和期望方差的散點(diǎn)圖
lines(d$df$k[order(d$df$k)], d$df$ev[order(d$df$k)], pch = 1)
散點(diǎn)圖點(diǎn)之間連上了線
points(d$optimal$k, d$optimal$ev, pch = 21, bg = "red", cex = 3)
把最佳的劃分方案標(biāo)紅點(diǎn)
points(d$optimal$k, d$optimal$ev, pch = 21, bg = "red", type = "h")
并在那個(gè)位置畫(huà)條垂直線
