R語言:排序分析以及VPA分析

2021-02-24 胡小金

參考《賴江山:基於vegan軟體包的生態學數據排序分析》

Variance Partitioning Analysis(VPA),方差分解分析。其實我一直不太理解這是什麼分析,找資料也沒有具體的解釋。目的在於量化變量對群落結構解釋貢獻值,是根據排序結果間接得到的分析結果。也是約束性分析的一種,叫偏分析法(Partial methods).

使用具體的數據來看看:

數據:data.csv(物種組成)與env.csv(環境因子)

軟體包:vegan

數據形式如下:

#設置工作目錄以及讀取數據,加載vegan軟體包

setwd("C:/R")

data<-read.csv("data.csv",header=T)

env<-read.csv("env.csv",header=T)

library(vegan)

#選擇排序模型,線性(RDA)或者單峰(CCA),使用DCA分析來判別,判斷的是物種數據,函數是decorana

decorana(data)

結果如下:

這裡的Axis lengths和Canoco軟體裡面的DCA分析結果「Lengths of gradient」是一樣的。如果DCA排序前4軸中最大值超過4,選擇單峰(CA\CCA)更合適;如果小於3,則選擇線性模型(PCA\RDA)更好;如果介於3和4之間,兩者都可以。

上述結果顯示最大值是2.6381,所以選擇PCA\RDA

這裡插一句:在R中,PCA與RDA都是同一個函數rda()實現的,如果只有物種數據rda(X),則表示PCA分析,如果有物種和環境兩部分數據rda(X,Y),就表示RDA分析;同理,CA與CCA都是同一個函數cca()實現的。

rda(data) #PCA分析

第一軸的解釋率為:148.10/488.8;第二軸的解釋率為:111.62/488.8

rda(data,env) #RDA分析

結果如下:

結果主要分為兩部分:

1、第一軸的解釋率為:146.49/488.7583;第二軸的解釋率為:57.81/488.7583

2、所有環境因子對物種分布的解釋率為:285.2776/488.7583=58.37%,不可解釋率為41.63%。

我們要在此基礎上繼續分析,做偏分析,分別分析主環境變量與協變量對物種分布的影響。在本例子中,分析地形因子(海拔,坡度,坡向以及凹凸度)和土壤因子(N,P,K以及pH值)分別對物種分布的解釋量以及兩組環境因子的共同解釋部分。

函數同樣是rda或者cca,表達式為rda(X,Y,Z),X為物種數據,Y為主環境變量,Z為協變量。如果分析排除土壤因子後地形因子對物種分布的解釋率,則Y為地形因子數據,Z為土壤環境因子數據。

分析結果:

env[,1:4]表示環境因子的前4列表示地形因子,當然也可以將兩部分環境因子按照兩個文件來保存,保存成完整的形式是為了分組的時候更快捷。同理,env[,5:8]表示後4列。

地形因子的解釋率為:162.3139/488.7583=33.21%


同理:

理化因子的解釋率為:53.8352/488.7583=11.01%

之前RDA結果是所有環境因子對物種組成的解釋率,計算結果為58.37%,則兩組環境變量的共同解釋率為:58.37%-33.21%-11.01%=14.15%

加上不可解釋的41.63%,總100%

總的:

地形因子:33.21%

理化因子:11.01%

兩組交互:14.15%

不可解釋:41.63%

圖示結果出來如下:

人生如戲

相關焦點

  • R語言實現主成分分析
    主成分分析(PCA)是一種常見的排序方法
  • 【R語言】相關性分析、相關係數的顯著性檢驗及可視化
    本篇文章介紹基於R語言的相關性分析、相關係數的顯著性檢驗及可視化,該教程為個人筆記,大家也可參考學習,不足之處也歡迎大家批評指正!相關性分析用於評估兩個或多個變量之間的關聯,能通過定量指標描述變量之間的強弱、直接或間接聯繫。
  • 生信實操|如何利用R語言進行GSEA分析
    專注生物分析最前沿定期解讀生信文章提供生信分析思路和套路看圖說話欄目曾介紹過GSEA的原理(看圖說話|GSEA分析--教你解鎖高級的富集分析),今天我們來看一下如何利用R語言進行GSEA分析。,先要對所有的基因進行排序,就是大家常看到的那個蝴蝶圖,這裡用foldchange作為量化的標準,將基因從大到小的排序。
  • R語言教程:使用Phyloseq包進行微生物群落多樣性分析
    在本教程中,我們將學習如何導入OTU表和samplemetadata(實驗設計等)導入到R Phyloseq包(更多詳細也可閱讀本公眾號之前的文章「如何將QIIME2輸出的數據導入R中使用Physoseq進行後續分析」)。我們將執行一些基本的探索性分析,包括檢查我們的樣品的分類組成情況並將使用不同的排序方法可視化樣品之間的差異。最後,我們還將估計樣本的α多樣性(豐富度和均勻度)。
  • R 語言之數據分析「Resampling」
    本節主要總結「數據分析」的「Resampling」重抽樣思想,並通過 R 語言實現。有一種東西叫作「傳統」,它在很多時候很有用,但會讓你思維固化,在新的環境下讓你出錯。在總結回歸分析和方差分析的時候 ④R語言之數據分析「初章」,我總是會在模型的建立之前提到「統計假設」,在模型建立之後進行「假設檢驗」,原因想必大家都能理解,就是因為這些「統計假設」是我們模型建立思想的基礎,是支撐我們模型正確性的「必要條件」。但是,不可否認的是,這些「必要條件」最終會成為我們「數據分析」的局限,讓我們對「不滿足條件的數據集」束手無策。
  • R語言從入門到精通:Day12--R語言統計--回歸分析
    回歸作為一個廣義的概念,涵蓋了許多變種,R語言中也為其提供了強大而豐富的函數和選項(但顯然選項越多,對初學者越不友好),早在2005年,R中就有200多種關於回歸分析的函數 (https://cran.r-project.org/doc/contrib/Ricci-refcard-regression.pdf,這個文檔提供了部分回歸分析函數列表,供大家參考)。
  • 手把手教你用R語言分析歌詞(附代碼)
    翻譯 | 劉朋 Noddleslee 程思婕 餘杭 整理 | 凡江 基於R語言對Prince的音樂的歌詞研究:用文本挖掘和探索性數據分析(EDA)來了解這位藝術家的生涯。 這是由三部分組成的系列輔導教程的第一部分,在這個系列裡,你將會使用R語言對傳奇藝術家Prince的歌詞通過各種分析任務進行實例研究。這三個教程覆蓋以下內容。
  • 【R語言】遙感影像Theil Sen趨勢分析MK檢驗
    01按以下形式將影像預處理好,起名字可以根據自己的需要,但是你要是不了解R語言,就按我的格式改名字吧
  • r語言有什麼優劣勢及R語言的未來發展趨勢_R語言在現實中的應用
    正如Tiobe、PyPL以及Redmonk等程式語言人氣排名所指出,R語言所受到的關注程度正在快速提升。作為一款誕生於上世紀九十年代的語言,R已經成為S統計程式語言的一類實現方式。已經擁有十八年R編程經驗的高校教授兼Coursera在線平臺培訓師Roger Peng指出,「R語言已經成為統計領域最具人氣的語言選項」。
  • R語言做主成分分析實例
    在做多樣本的RNA-Seq數據中經常會用到主成分分析(PCA)來分析,那麼什麼是PCA呢,這個可以百度一下,大概意思如下:主成分分析法是數據挖掘中常用的一種降維算法
  • R語言mRNA差異表達分析
    上一篇文章介紹的是mRNA數據的整理,整理完就開始介紹的是如何用R語言來做差異表達分析,繼續碼字。
  • R語言-stringr-字符串處理
    對大部分常規商業數據分析工作者的面對的表格數據而言,字符處理可能僅僅只是合併、剔除、刪除空格、倒敘等基礎操作。單雙引號R語言中字符串輸入時,可以使用單引號,也可以使用雙引號。,不用轉義路徑複製和直接可用charchar <- r"(我是一名'R語言'學習者)"cat(char)常用函數截取字符串,匹配字符串,添加指定字符籌齊長度,去除左右兩邊空格,分割字符串,
  • 掌握R語言for循環一文就夠了(認真臉)
    R語言相信大家在利用R語言進行數據分析的時候可能會有大數據分析需求。R語言不考慮並行運算下的簡單批處理實現方式就是for循環。data的行數,兩個for疊加的話,先固定第一個for r=1再執行下一個for,直到下一個for的r從1到100都執行完後再跳到第一個for r=2,再執行r從1到100,再r=3以此類推直到r=100,整個for循環就結束了。
  • R語言數據分析(二)回歸分析(4)
    9.08,1.89,3.06,10.2,0.05,0.73,1.03,6.25)y=c(4.93,1.86,2.33,5.78,0.06,0.43,0.87,3.86)由表可知,其Fvalue=392.5, Pr>F的值3.186e-06,遠小於0.01,故拒絕原假設,認為y1與x1,x2之間具有顯著性的線性關係; 由方差分析表可知
  • 需求分析-需求的分類、排序及拆解方法
    01馬斯洛需求模型馬斯洛認為:人的需求按照需求強度可以自下而上分為五個層級:生理需求、安全需求、歸屬需求、尊重需求以及自我實現需求。在這五類需求中,越是底層的需求越屬於剛性需求,越需要被優先滿足,當解決了底層需求之後,人往往會產生更高級別的需求,需求產生動力進而督促個人行動。
  • 誤差的分析與減少及Matlab解線性方程的四種方法
    上面的部分基本上都來源於《數值分析》一書,講的挺好的,這些減小誤差的方法,我們平時需要多注意,在用c進行編程實現時需要注意,而用Matlab實現時,上面的問題都不是問題了,不過我們要學習的是這種方法和技巧。下面講講,在實現上述方法的Matlab的知識:1、精度控制;2、解線性方程組。
  • R語言SQL管理資料庫的方法
    #使用SQL語句操作數據框,需要加載的程序包sqldf,tcltk,使用iris數據集以及演示library(sqldf)library(tcltk)head(iris)#了解數據集由5各變量組成#取出前幾行a1r <- head(iris,10)#一般方法
  • r語言tseries - CSDN
    zoo()和xts()會強制變換為正序(按照時間名稱)timeSeries不會強制排序;其結果可以根據sort函數排序,也可以採用rev()函數進行逆序;參數recordIDs,可以給每個元素(行)標記一個ID,從而可以找回原來的順序#預設的時間有重複的時間點時zoo會報錯xts按照升序排列timeSeries把重複部分放置在尾部
  • 多元逐步回歸分析r方結果解釋_r語言多元回歸篩選變量逐步回歸分析...
    Minitab Express 1.5 for Mac 是一個強大的數據分析軟體,可以運行在Mac系統上軟體可以激活永久使用,支持語言英文;Minitab Express專為教學和學習介紹性統計而設計,包括概率分布
  • R語言統計篇: 單因素協方差分析
    單因素協方差分析也是單因素方差分析(One-way ANOVA,R語言統計篇:單因素方差分析)的一個延伸。比方說,我們現在想要研究不同BMI(偏輕,正常與超重)與空腹血糖的關係,同時校正血壓水平。在此研究中,BMI分組是一個分類變量(自變量),血糖是一個連續變量(因變量),血壓則是一個協變量(covariate)。c.