主成分分析(PCA)是一種常見的排序方法。通過正交變換將一組存在相關性的變量轉換為一組線性不相關的變量,變換之後的變量叫做主成分。
在進行多變量的研究時,變量數量太多就會增加研究的複雜性。如果將一個變量比作一個維度,那麼多元數據可以看作由多個變量組成的多維空間內點的合集。在很多情形中,變量間存在一定的相關關係,因此研究者可以將多維度的數據降維,用新的排序軸去儘可能地反映原數據的信息。
圖1 灌叢調查環境數據舉例
圖1是灌叢調查時獲得的樣地環境因子數據(列名分別為樣地號、海拔、土壤有機碳、全氮、全磷、年均降水和年均溫)。那麼如何對環境數據進行主成分分析呢?
#讀取數據
env = read.csv("env.csv", row.names = 1, header = T)
library(vegan)#加載R包(需提前安裝)
env.pca = rda(env, scale = TRUE)
# vegan包裡rda( )函數是最常用的PCA分析函數
#scale = TRUE,意為分析前將數據進行標準化(PCA前標準化是必需的步驟)
summary(env.pca)
#PCA的主要結果
下面對主要的結果進行解釋:
Eigenvalue (特徵根):是每個排序軸的重要性指標。
Proportion Explained (排序軸解釋率):排序軸解釋總方差的比例。例如PC1 0.546,意為PC1軸解釋了數據總方差的54.6%。
Cumulative Proportion (總解釋率):排序軸累計解釋率。例如PC2 0.7799,意為第一軸和第二軸共解釋了數據77.99%的方差。
PCA的結果可以用排序圖(簡圖)呈現。
biplot(env.pca)
site.scores=scores(env.pca, choices = c(1:2),scaling = 2)
points(site.scores$sites[,1],site.scores$sites[,2]+0.05,pch = 17,col= "blue")
#將樣地點加入排序圖內,+0.05是為了將樣地號和點在圖上分開。
圖2 PCA雙序圖
生成的圖片如圖2所示,最後成圖時,還應將第一軸和第二軸的解釋率加入排序圖中,例:PC1(54.6%)。在排序圖內(默認是2型雙序圖),我們可以看到海拔和年均降水是高度正相關的,這兩者也與年均溫負相關。表徵土壤養分的土壤有機碳、全氮、全磷之間是正相關關係。調查的大多數樣地集中在圖中第四象限內,表明調查地灌叢主要分布在土壤相對貧瘠,水分適中的中海拔地區。
R學習感言:主成分分析是生態學上比較常見的分析方法,排序圖可以直觀清晰的表明多個變量之間的關係及對因變量的作用,第一軸可以解釋最多的方差因此可以大致代表整個數據的趨勢。需要注意的是,主成分分析所使用的變量必須統一量綱(標準化),標準化的方式也要根據數據而定。