R 主成分分析(PCA) ggplot2

2021-09-06 09:00:50 字數 1793 閱讀 2574

在生態環境領域中,作為非約束排序的方法之一,主成分分析(pca)是我們常用的分析方法。本文以r語言vegan包rda函式演示主成分排序及基於ggplot2繪圖。

a=read.csv(

"d:/wykt/sp.csv"

,header = t,row.names =1)

library(vegan)

library(ggplot2)

library(ggrepel)

dd=rda(log10(a)

)###此處對物種資料取對數作轉化,可根據自己資料選擇合適的轉化方法

oo=summary(dd)

site=

as.data.frame(oo$sites)

###提取樣方座標

spp=

as.data.frame(oo$species)

###提取物種座標

grp=

as.data.frame(c(rep(

"a",4)

,rep(

"b",4)

,rep(

"c",4)

,rep(

"d",4)

))###根據樣方型別分組

colnames(grp)

="group"

###以下開始作圖

ggplot()+

geom_point(data=site,aes(x=pc1,y=pc2,shape=grp$group,fill=grp$group)

,size=4)

+ scale_shape_manual(values = c(21:

24))+

geom_segment(data=spp,aes(x=

0,y=

0,xend=pc1,yend=pc2)

, arrow = arrow(angle =

22.5

,length = unit(

0.35

,"cm"),

type

="closed"

),linetype=

1,size=

1,color=

"red")+

geom_text_repel(data=spp,aes(x=pc1,y=pc2)

,label=row.names(spp))+

geom_hline(yintercept=

0,linetype=

3,size=1)

+ geom_vline(xintercept=

0,linetype=

3,size=1)

+ labs(x=paste(

"pc1("

,format

(100

*oo$cont[[1

]][2

,1], digits=4)

,"%)"

, sep="")

, y=paste(

"pc2("

,format

(100

*oo$cont[[1

]][2

,2], digits=4)

,"%)"

, sep="")

)+guides(shape=guide_legend(title = null)

,fill=guide_legend(title = null))+

theme_bw(

)+theme(panel.grid = element_blank(

))

R 主成分分析

一 實驗內容 基本思想 通過降維技術把多個變數化為幾個少數主成分的方法,即將原來眾多具有一定相關性的指標,重新組合成一組新的相互無關的綜合指標。表示形式 結論 1 uij為第i個成分yi和第j個原先的變數xj之間的線性係數 2 y1,y2,yp分別叫做第1主成分,第2主成分,第p主成分,y1得到最大...

R語言主成分分析

head swiss 檢視資料 cor swiss 檢視相關性矩陣 方陣中絕對值最小的是0.06085861,比0.05大,因此swiss中變數相互之間均有或強或弱的相關關係,這份資料適合做主成份分析。由於變數的量綱不同會使主成份得分係數的可解釋性變差,使結果受到量綱大的變數影響,而忽略量綱較小的變...

主成分分析 R語言

主成分分析 principal component analysis,pca 是一種統計方法。通過正交變換將一組可能存在相關性的變數轉換為一組線性不相關的變數,轉換後的這組變數叫主成分。原理 在用統計分析方法研究多變數的課題時,變數個數太多就會增加課題的複雜性。人們自然希望變數個數較少而得到的資訊較...