熱線電話:13121318867

登錄
首頁精彩閱讀用R語言做Venn(韋恩)圖
用R語言做Venn(韋恩)圖
2017-04-21
收藏

R語言做Venn(韋恩)圖

首先介紹一下韋恩圖(英語:Venn diagram) ,也叫做文氏圖、溫氏圖、范氏圖,這都一個意思。它是數學學科中分支集合論(或者類的理論)的一支,在不太嚴格的意義下用來表示集合(或類)的一種草圖。Veen圖是用于展示在不同的事物群組(集合)之間的數學或邏輯聯系,尤其適合用來表示集合(或)類之間的“大致關系”,這“大致關系”就意味著它是不精確的。它也常常被用來幫助推導(或理解推導過程)關于集合運算(或類運算)的一些規律。

學過基礎數學的都知道,咱們在學習集合論的時候,絕對畫過韋恩圖。用韋恩圖來表征分組彼此之間的關系,觀察公共區域以及每個分組的單獨部分的情況。在生態學以及微生態研究中會用Venn圖來展示幾個分組之間關系的結果。

那么用R語言應該怎樣做呢?

需要加載的軟件包:colorfulVennPlot

數據準備形式如下:

我們現在想知道A、B、C這3個樣地之間關于共同有的OTU以及獨自具有的OTU數量的關系,每個樣地有3個重復樣。且看用R怎樣做出你想要的結果:

setwd("C:/Rwork")#設置工作目錄,我的工作目錄設置為C盤Rwork文件夾

library(colorfulVennPlot )#加載colorfulVennPlot軟件包,當然前提是你先下載好colorfulVennPlot軟件包,如果沒有的話,執行以下命令來下載:

install.packages("colorfulVennPlot ")#這一步是為了下載好colorfulVennPlot軟件包

a<-read.csv("practice2", header=T)#讀取要分析的數據,將其命名為a

rownames(a)<-a[,1]#將上一步的a數據矩陣的第一列提取出來,因為是你要分析的部分,命名為rownames(a),也可以是其他的名字

a<-a[,-1]#a數據的第一列作為表格的行名

head(a)#這一步不是必須的,這一步的意思是查看你新命名的a數據的前6行

grouped <- data.frame(A=rowSums(otu[,c(4,5,7)]),B=rowSums(otu[,c(1,2,6)]),C=rowSums(otu[,c(3,8,9)]))#我要詳細解釋這一命令的含義:根據我們之前給的practice2這個表格數據,以及我們將第一列數據作為行名。我們可以看到第4,5,7列是A樣地組;1,2,6列是B樣地組;3,8,9列是C樣地組;我們將重復樣進行求和,最終表格合并為3列A,B,C;且將其命名為grouped名字。

grouped#你可以查看合并之后的表格grouped

vennData<-createVennData(grouped,type="count",Cols=c("A","B","C"),Splits=c(0.1,0.1,0.1))#根據上述的一系列條件進行venn計算,設置顏色,類型,標簽等等。

vennData#查看venn計算之后的結果

plotVenn(vennData$x,vennData$labels)#venn出圖結果

結果如下:


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢