ベン図はデータを解釈する時に役に立ちます。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))
出力

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