Rで解析:9変数までのベン図を作成できます「Vennerable」パッケージ


投稿日: Rの解析に役に立つ記事

共通数を示すのに便利なベン図があります。多くは2から4変数の共通数を示すために円を用いての表現が多いと思います。紹介パッケージは円だけでなく四角などを用い、最大9変数のベン図が作成できます。

パッケージバージョンは3.1.0.9000。実行コマンドはwindows 7およびOS X 10.11.2のR version 3.2.3で確認しています。


パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("devtools")
source("https://bioconductor.org/biocLite.R")
biocLite(c("RBGL","graph"))
devtools::install_github("js229/Vennerable")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("Vennerable")

###データ例の作成#####
TestData <- list(Group1 = sample(paste0("Group", 1:2000), 1300, replace = FALSE),
                 Group2 = sample(paste0("Group", 1:2000), 800, replace = FALSE),
                 Group3 = sample(paste0("Group", 1:600), 400, replace = FALSE),
                 Group4 = sample(paste0("Group", 1:1900), 700, replace = FALSE),
                 Group5 = sample(paste0("Group", 1:600), 100, replace = FALSE),
                 Group6 = sample(paste0("Group", 1:300), 100, replace = FALSE),
                 Group7 = sample(paste0("Group", 1:1500), 100, replace = FALSE),
                 Group8 = sample(paste0("Group", 1:300), 100, replace = FALSE),
                 Group9 = sample(paste0("Group", 1:1500), 100, replace = FALSE))
#######

#ベン図を作成:Vennコマンド
#ラベル名の指定:SetNamesオプション
#変数の数で大きさを指定:Weightオプション;TRUEで自動
DemoPlot <- Venn(SetNames = c("TEST1", "TEST2"),
                 Weight = c('01' = 3, '11' = 10, '10' = 20))
#プロット
plot(DemoPlot)

###プロット体裁の調整#####
#プロットスタイルを指定:typeオプション
#2変数;"circles","squares"
plot(DemoPlot, doWeights = FALSE, type = "circles")
plot(DemoPlot, doWeights = FALSE, type = "squares")

#3変数;"triangles","circles","squares"
plot(Venn(TestData[1:3]), doWeights = FALSE, type = "triangles")
plot(Venn(TestData[1:3]), doWeights = FALSE, type = "circles")
plot(Venn(TestData[1:3]), doWeights = FALSE, type = "squares")

#3変数以上:"squares", "ChowRuskey", "AWFE"
ChoiceType <- c("squares", "ChowRuskey", "AWFE")
#プロット
for(i in seq(length(ChoiceType))){
  
  plot(Venn(TestData[1:(i + 3)]), doWeights = FALSE, type = ChoiceType[i])

}
#参考:9変数のプロット:"battle"
plot(Venn(TestData[1:9]), doWeights = FALSE, type = "battle")
########

#0のエリアを表示しない:doEulerオプション
#表示しない:TRUE
DemoPlot0 <- Venn(SetNames = c("TEST1", "TEST2"),
                  Weight = c('01' = 3, '11' = 10, '10' = 0))
#プロット
plot(DemoPlot0, doEuler = TRUE)

出力例

2変数
・circles
2circles

・squares
2squares

3変数
・triangles
triangles

・circles
circles

・squares
3squares

3変数以上
・squares
squares

・ChowRuskey
ChowRuskey

・AWFE
AWFE

9変数
・battle
battle

・doEulerオプション
doEuler


少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク