本文へスキップ
からだにいいもの

Rのトピックスを中心に『まだ、まだ、知らない、役に立つ情報?』を発信します。

Rで解析:ベン図が手軽に描写できる!「VennDiagram」パッケージ

ベン図はデータを解釈する時に役に立ちます。Rでベン図を作成するには色々な方法があります。参考としてVennDiagramパッケージを紹介します。VennDiagramパッケージはデータをリストで扱うことができるので便利です。ただ、比較データが4以上になると、プロット時にデータが左側から並んでくれませんので工夫が必要です。紹介コードではデータが左から並ぶように調整しています。

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

install.packages("VennDiagram")
スポンサーリンク

コマンド

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

###データ例の準備#####
A <- sample(1:1000, 100, replace = FALSE)
B <- sample(200:800, 100, replace = FALSE)
C <- sample(300:500, 100, replace = FALSE)
D <- sample(400:600, 100, replace = FALSE)
Data <- c(A, B, C, D)

#4つのデータを想定
Point <- sample(c("Point1", "Point2", "Point3", "Point4"),
                   length(Data), replace = TRUE)

#データの作成
ProtData <- data.frame(Data, Point)
########

###ベン図をプロット#####
#ラベルの作成,降順に並び替え
Point <- sort(as.character(unique(ProtData[, 2]))) #測定列を指定
#測定ポイントが左から並ぶように調整
ifelse(length(Point) > 3, Point <- c(Point[1], Point[length(Point)],
                                           c(Point[2:(length(Point) - 1)])), invisible())

#ベン図プロットに使うリスト作成
VennList <- vector("list", length(Point)) 
names(VennList)  <- Point #ラベルの付与

for(n in seq(Point)){
  VennList[[n]] <- subset(ProtData[, 1], ProtData[,2] %in% Point[n]) #測定ポイント行を入力
}

###ベン図プロットの設定#####
#ベン図の塗り色を設定
FillCol <- c("dodgerblue", "goldenrod1", "darkorange1", "seagreen3", "orchid3")

#プロット
grid.newpage()
grid.draw(venn.diagram(
  x = VennList,
  fill = FillCol[1:length(Point)],
  filename = NULL))

出力

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

スポンサーリンク
価格および配送状況は変更される場合があります。購入時は商品ページをご確認ください。
当サイトに表示されている商品情報はAmazonから提供されたものであり、更新または削除される場合があります。
karada-goodはAmazonアソシエイトとして、適格販売により収入を得ています。