R包vegan的主響應曲線(PRC)

R包vegan的主響應曲線(PRC)
主響應曲線(principal response curvePRC)是重複測量設計中多元響應冗餘分析的一個特例,最初被提出用於生態群落的研究中,比傳統的約束排序更容易解釋(van den Brink and ter Braak, 1999)。經過一系列拓展,目前已經廣泛用於研究多元響應試驗中A因素的效應對B因素的依賴水平,即“A+ A:B”。例如,透過跟蹤試驗中對照組和處理組之間的差異隨時間的變化,分析處理產生的影響。
本篇簡介透過Rvegan執行PRC的方法。
資料集
vegan包的內建資料集“pyrifos”,包含了殺蟲劑處理前後進行的11次研究中,12個溝渠中水生無脊椎動物的對數轉換後的丰度。
library(vegan)
data(pyrifos)

head(pyrifos[ ,1:10])
#行是樣本,列是物種,交叉區域為物種在樣本中的丰度值

試驗中隨機分配了12個觀測組(“溝渠隔離的微生態系統”),其中4個用作對照,其餘8個用殺蟲劑處理:劑量水平分別為0.10.9644 mug/L,各劑量下對應2個溝渠。
從處理前的第4周到處理後的第24週期間,共進行了11次取樣,觀測水生無脊椎動物的丰度,並作了對數轉化。即整個“pyrifos”資料集包含了12×11=132個樣本的水生無脊椎動物的對數轉換後的丰度數值。
詳情參閱:https://www.rdocumentation.org/packages/vegan/versions/2.4-2/topics/pyrifos
可知,這裡所涉及的“重複測量設計”,即指在整個試驗期間對同一溝渠反覆進行了11次觀測。試驗中的主因素(A因素)對應處理劑量,次因素(B因素)對應處理時間。
然後期望透過PRC,觀測“A+ A:B”效應下,物種丰度的響應水平。
執行PRC
首先設定樣本的分組,如上所述,包含了溝渠來源、取樣時間以及化學處理劑量。
詳情參閱:https://www.rdocumentation.org/packages/vegan/versions/2.4-2/topics/pyrifos
#分組資訊:溝渠編號

ditch <- gl(12, 1, length = 132)
#分組資訊:取樣時間,處理前的第 4 周開始,至處理後的第 24 周

week <- gl(11, 12, labels = c(-4, -1, 0.1, 1, 2, 4, 8, 12, 15, 19, 24))
#分組資訊:化學劑量濃度

dose <- factor(rep(c(0.1, 0, 0, 0.9, 0, 44, 6, 0.1, 44, 0.9, 0, 6), 11))

vegan中,執行PRC的函式為prc()。響應變數為物種丰度資料集,treatment對應處理,time對應時間。
#PRC 執行,詳情 ?prc

mod <- prc(response = pyrifos, treatment = dose, time = week)

如上所述,由於PRCRDA的一種特例,因此可以首先檢視約束軸的解釋程度。在這裡,化學劑量濃度(主因素)在RDA中作為解釋變數對待,取樣時間(次因素)在RDA中作為解釋變數的同時,還作為了化學劑量濃度的協變數。對於Rveganrda()方法的細節部分,可參考前文
#這裡實質上執行了一種附帶偏 RDA 的過程

mod
#對應於 RDA 函式 rda(),則上式 prc() 等同於下式 rda()

rda(pyrifos ~ dose * week + Condition(week))

既然執行了RDA,那麼會計算物種得分以及典範係數,可透過summary()函式檢視細節。注意一次只能檢視一個軸的得分。
#檢視 PRC 的物種得分及典範係數,詳情 ?prc

#需指定觀測的軸(即 RDA 的第幾約束軸),以及使用的標尺縮放型別

#這裡以 RDA 第 1 主軸為例,'symmetric' 縮放為例

prc_summary <- summary(mod, axis = 1, scaling = 'symmetric')
#提取物種得分

sp <- prc_summary$sp

#提取典範係數

coeff <- prc_summary$coefficients

繪製觀測物種響應處理和時間的PRC曲線。曲線代表了整體響應特徵,或者說處理在群落和物種水平產生的效應;圖右側顯示了物種得分。
#物種響應曲線,詳情 ?prc

#同樣地,需指定觀測的軸(即 RDA 的第幾約束軸),以及使用的標尺縮放型別

#物種太多時,不妨透過 select 選擇特定物種展示,例如這裡選擇展示一些較高丰度的物種

plot(mod, axis = 1, scaling = 'symmetric', select = colSums(pyrifos) > 100)

RDA,約束軸需經過檢驗,通過後才能說明模型是可信的。上述示例均觀測了第一RDA軸的物種響應特徵,如果期望使用它,則需要檢驗該軸。
#所選觀測軸的置換檢驗,確定顯著性,以第 1 軸為例,99 次置換

ctrl <- how(plots = Plots(strata = ditch,type = 'free'), within = Within(type = 'series'), nperm = 99)

anova(mod, permutations = ctrl, first = TRUE)

結果是顯著的,表明模型可用。
參考文獻
van den Brink P J, ter Braak C J F. Principal response curves: Analysis of time-dependent multivariate responses of biological community to stress. Environmental Toxicology & Chemistry, 1999, 18(2):138-148.
連結

相關文章