方差分解分析變量篩選與顯著性計(jì)算

方差分解分析變量篩選與顯著性計(jì)算

引言

VPA中的方差分解是分析影響內(nèi)生變量的結(jié)構(gòu)沖擊的貢獻(xiàn)度。

原理是自變量變化會(huì)對(duì)因變量產(chǎn)生貢獻(xiàn),利用方差分解分析VPA(Variance Partitioning Analysis)可以計(jì)算各自變量的貢獻(xiàn)程度。

在地球環(huán)境科學(xué)的實(shí)際應(yīng)用中,可以基于VPA結(jié)果得出不同類型的環(huán)境因素(如何氣候、土壤性質(zhì)以及植物)對(duì)生物群落組成(如植被豐度,微生物群落)的解釋程度。

在 R 中進(jìn)行方差分解同樣離不開vegan包,主要依賴兩個(gè)功能:

  1. 變量篩選ordistep
  2. 方差分解varpart

變量篩選

在進(jìn)行任何多變量的分析,必須考慮變量之間存在的相關(guān)性。除了主成分分析,可以用RDA分析

冗余分析(redundancy analysis,RDA)是一種回歸分析結(jié)合主成分分析的排序方法,也是多響應(yīng)變量(multiresponse)回歸分析的拓展。從概念上講,RDA是響應(yīng)變量矩陣與解釋變量之間多元多重線性回歸的擬合值矩陣的PCA分析。

代碼如下:

library(vegan)
library(tidyverse)
data(mite)
data(mite.env)
data(mite.pcnm)
rda_full <- rda(mite~., data = cbind(mite.pcnm, mite.env))
rda_null <- rda(mite~1, data = cbind(mite.pcnm, mite.env))

rda_back <- ordistep(rda_full, direction = 'backward',trace = 0)

# forward selection
rda_frwd <- ordistep(rda_null, formula(rda_full), direction = 'forward',trace = 0)

# bothward selection 
rda_both <- ordistep(rda_null, formula(rda_full), direction = 'both',trace = 0)

關(guān)于ordistep的說明文檔可以見R的參考文檔:https://rdrr.io/rforge/vegan/man/ordistep.html

約束排序方法 ( cca, rda, capscale) 的自動(dòng)逐步模型構(gòu)建。該函數(shù)ordistep是仿照的step,可以使用排列測試進(jìn)行前向、后向和逐步模型選擇。對(duì)于由或創(chuàng)建的排序?qū)ο螅瘮?shù)ordiR2step僅對(duì)調(diào)整后的 R2和 P 值執(zhí)行正向模型選擇。

總體上,根據(jù)一系列“黑盒”操作,選擇出主要的變量。

結(jié)果如圖,根據(jù)rda_both結(jié)果:

image-20230612193425435

mite.env因素中選擇了WatrCont因子,在mite.pcnm因素中選擇了V2V6因子

方差分解

在進(jìn)行VPA時(shí),首先就要對(duì)這些環(huán)境因子進(jìn)行一個(gè)分類,然后在約束其它類環(huán)境因子的情況下,對(duì)某一類環(huán)境因子進(jìn)行排序分析,這種分析也成為偏分析,即partialRDA。

在對(duì)每一類環(huán)境因子均進(jìn)行偏分析之后,即可計(jì)算出每一個(gè)環(huán)境因子單獨(dú)以及不同環(huán)境因子相互作用分別對(duì)生物群落變化的貢獻(xiàn)。

兩類的情況

首先是兩類的情況,書接上文,把環(huán)境因子分為mite.envmite.pcnm兩類,即環(huán)境因子和空間相鄰因子

df_env <- mite.env %>% select(WatrCont)
df_pcnm <- mite.pcnm %>% select(V2, V6)

# Perform variation partitioning analysis, the first variable is the community matrix
# the second and third variables are climate variable set and soil property variable set
vpt <- varpart(mite, df_env, df_pcnm)

格式是varpart(因變量,第一類因子,第二類因子)

結(jié)果如圖:

image-20230612194545183

a為X1也就是環(huán)境因素單獨(dú)對(duì)群落變化的貢獻(xiàn)。

b為X2也就是空間相鄰因素對(duì)群落變化的貢獻(xiàn)。

c為X1和X2的相互作用對(duì)群落變化的貢獻(xiàn),這里是0

d為X1和X2無法解釋的群落變化。

接下來繪韋恩圖

plot(vpt, bg = 2:5, Xnames = c('env', 'pcnm'))
image-20230612194653511

環(huán)境因素解釋了20%

顯著性計(jì)算

接下來計(jì)算顯著性

formula_env <- formula(mite ~ WatrCont + Condition(V2) + Condition(V6))
formula_pcnm <- formula(mite ~ Condition(WatrCont) + V2 + V6)

anova(rda(formula_env, data = cbind(mite.pcnm, mite.env)))
anova(rda(formula_pcnm, data = cbind(mite.pcnm, mite.env)))
image-20230612195215869

單獨(dú)計(jì)算環(huán)境因素和空間相鄰因素的顯著性,結(jié)果環(huán)境因素非常顯著(p < 0.01),空間相鄰因素比較顯著 (p < 0.05)

多類的情況

mod <- varpart(mite, ~ SubsDens + WatrCont, ~ Substrate + Shrub + Topo,
               mite.pcnm, data=mite.env, transfo="hel")
plot(mod, bg=2:4, Xnames = c('SubsDens + WatrCont', 'Substrate + Shrub + Topo', 'pcnm'))
image-20230612195429454

本文由mdnice多平臺(tái)發(fā)布

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容