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

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))

出力

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

スポンサーリンク
Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.