
こちらのノートでは、ベン図(Venn Diagram)を作成する方法をご紹介いたします。
ベン図は、複数のグループ間の共通部分や差異を円の重なりで表現したチャートです。例えば、「3カ国間で共通して賛成した投票数」や「ある国だけが賛成した投票数」といった重複関係を直感的に把握することができます。

ベン図を作成するには、グループごとの件数とグループ間の共通件数を1行のデータとして用意する必要があります。

例えば、アメリカ・カナダ・ロシア3カ国の国連決議投票データの場合、各国単独での賛成件数と各国間での共同賛成件数が1行にまとめられたデータを使用します。
ベン図を作成するためのパッケージはいくつかありますが、このノートでは、円の大きさや重なり具合を実際のデータに基づいて適切に表現できる「eulerr」パッケージを使用いたします。
チャートの作成にあたり、まずeulerrパッケージをインストールします。
プロジェクトメニューから「Rパッケージの管理」を選択し、「パッケージをインストール」をクリックします。

テキストボックスに「eulerr」と入力し、「インストール」ボタンをクリックしてインストールを実行します。
「eulerrのインストールに成功しました」というメッセージが表示されたら、OKボタンをクリックします。
こちらのノートでは、ハーバード大学のDataverseで公開されている、過去70年間の国連総会での決議における国ごとの投票内容データを使用します。以下のリンクからEDFファイルをダウンロードしてください。

ダウンロードしたEDFファイルをExploratoryにドラッグ&ドロップします。

するとデータがインポートされ、「vote_euler」というデータフレームが作成されます。このデータは1行のデータで、各列にアメリカ、カナダ、ロシアの投票一致件数が格納されています。

チャート・ビューから「カスタム (R) チャート」を使うと、Rのコードを貼り付けるだけでベン図を作成できます。
チャート・ビューのチャートタイプの選択画面から「カスタム (R) チャート」を選択します。

すると、Rスクリプトを入力するテキストエディタが表示されます。

Rスクリプトのエディタが表示されますので、以下のコードを入力します。${DATA}
はExploratoryが現在アクティブなデータフレームを自動的に参照する専用の記法です。
library(eulerr)
# ${DATA}の1行目の数値を取得し、それに対応する名前をセットして、euler関数に渡す
data <- euler(setNames(as.numeric(${DATA}[1, ]), names(${DATA})))
# プロット時に使用する色を定義
col <- c("#E56997", "#FBC740", "#66D2D6")
plot(data,
quantities = TRUE, # 数量のラベルの表示
fills = list(fill = col, alpha = 0.8), # 塗りつぶしの色と透明度を指定
edges = "black", # エッジの色を黒に指定
labels = list(fontsize = 12)) # ラベルのフォントサイズを指定

コードを入力したら「ビュー」ボタンをクリックします。円の大きさと重なり具合がデータに基づいて表現されたベン図が作成されます。

チャート・ビューで作成したチャートは、チャートのタイプを問わずダッシュボードやノートに配置することが可能です。

配置したチャートは他のチャートと同じようにダッシュボードを実行すると表示されます。

カスタム (R) チャートと同じRスクリプトを使って、Exploratoryのノートやダッシュボード上でも直接ツリーマップを作成することができます。
ノートの編集画面や、ダッシュボードのテキストパネルのコンテンツの追加ボタンから「R スクリプト」を選択すると、Rのコードを入力するためのコードブロックが表示されます。
カスタム (R) チャートとの違いは、${DATA}
の代わりにデータフレーム名(ここでは「vote_euler」)を直接指定する点です。
library(eulerr)
# vote_eulerの1行目の数値を取得し、それに対応する名前をセットして、euler関数に渡す
data <- euler(setNames(as.numeric(vote_euler[1, ]), names(vote_euler)))
# プロット時に使用する色を定義
col <- c("#E56997", "#FBC740", "#66D2D6")
plot(data,
quantities = TRUE,
fills = list(fill = col, alpha = 0.8),
edges = "black",
labels = list(fontsize = 12))
「プレビュー」ボタンをクリックすると、ベン図が表示されます。