Rにはベン図作成に便利なパッケージが多くありますが、ベン図データの内容を表示するのは手間です。そんな手間を解決できるパッケージの紹介です。なお、コマンドで得られる結果はリスト形式なので加工もラクラクです。
パッケージバージョンは0.4.2。実行コマンドはwindows 7およびOS X 10.11.2のR version 3.2.3で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール install.packages("devtools") devtools::install_github("setempler/venntables")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み library("venntables") ###データ例の作成##### n <- 50 TestData <- data.frame(Data1 = floor(runif(n, min = 0, max = 100)), Data2 = floor(runif(n, min = 0, max = 100)), Data3 = floor(runif(n, min = 0, max = 100))) #data.frame classをlist classに変換 ListTestData <- as.list(TestData, as.labels = TRUE) ######## #ベン図データの作成:vennコマンド #do.callと組み合わせると楽に処理ができます TestVennData <- do.call(venn, ListTestData) #内容確認 TestVennData #結果 Class 'venntable' object labels = Data1, Data2, Data3 combinations = 7 Table: group n Data1 13 Data2 13 Data3 17 Data1 & Data2 11 Data1 & Data3 9 Data2 & Data3 8 Data1 & Data2 & Data3 7 #結果をプロット plot(TestVennData, main = "Test Plot", cols = c("dodgerblue", "goldenrod1", "darkorange1", "seagreen3", "orchid3"), main.cex = 2, cex = 1.5, cat.cex = 1.5) #ラベル確認:labelsコマンド labels(TestVennData) [1] "Data1" "Data2" "Data3" #データ確認:datasetコマンド dataset(TestVennData) $Data1 [1] 36 76 91 15 69 39 31 86 97 41 6 0 1 77 22 80 53 58 33 78 90 45 44 [24] 25 7 72 67 4 66 71 48 30 12 52 85 26 81 9 13 99 $Data2 [1] 2 29 5 9 74 48 56 65 23 71 59 21 45 28 31 37 90 99 97 64 52 92 44 [24] 84 41 77 27 80 78 8 20 43 32 58 72 12 81 10 68 $Data3 [1] 19 37 70 47 75 83 24 55 3 90 71 85 56 7 42 73 91 92 6 39 34 86 67 [24] 89 72 94 54 53 14 62 5 0 27 48 43 79 10 32 58 78 12 #組み合わせ確認:groupsコマンド groups(TestVennData) [[1]] [1] "Data1" [[2]] [1] "Data2" [[3]] [1] "Data3" [[4]] [1] "Data1" "Data2" [[5]] [1] "Data1" "Data3" [[6]] [1] "Data2" "Data3" [[7]] [1] "Data1" "Data2" "Data3" #組み合わせに該当する数:countsコマンド counts(TestVennData) [1] 13 13 17 11 9 8 7 #組み合わせに該当する値:valuesコマンド values(TestVennData) [[1]] [1] 36 76 15 69 1 22 33 25 4 66 30 26 13 [[2]] [1] 2 29 74 65 23 59 21 28 64 84 8 20 68 [[3]] [1] 19 70 47 75 83 24 55 3 42 73 34 89 94 54 14 62 79 [[4]] [1] 31 97 41 77 80 45 44 52 81 9 99 [[5]] [1] 91 39 86 6 0 53 7 67 85 [[6]] [1] 5 56 37 92 27 43 32 10 [[7]] [1] 58 78 90 72 71 48 12
少しでも、あなたのウェブや実験の解析が楽になりますように!!