Rで解析:ベン図データの確認に便利です!「venntables」パッケージ


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

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

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

スポンサードリンク

おすすめコンテンツ


スポンサードリンク