インタラクティブな平行座標プロットを作成するパッケージの紹介です。出力例を実行例に示します。指標はドラッグで入れ替えたり、線の色などを変更することが可能です。
なお、体裁の細かい設定やプロットデータの指定はコマンドで指定します。
パッケージのバージョンは0.4.0。windows 11のR version 4.3.3で確認しています。
パッケージのインストール
下記コマンドを実行してください。
# パッケージのインストール
install.packages("parallelPlot")
実行コマンド
詳細はコメントやコマンドヘルプを確認してください。
# パッケージの読み込み
library("parallelPlot")
### データ例の作成 #####
set.seed(1234)
n = 50
TestData <- data.frame(Int_1 = sample(1:10, n, replace = TRUE),
Char_1 = factor(sample(LETTERS[1:4], n, replace = TRUE)),
Binary_1 = sample(0:1, n, replace = TRUE),
Binary_2 = sample(c(TRUE, FALSE), n, replace = TRUE),
Int_2 = sample(1:10, n, replace = TRUE),
Char_2 = factor(sample(LETTERS[1:2], n, replace = TRUE)))
# 内容を確認
str(TestData)
'data.frame': 50 obs. of 6 variables:
$ Int_1 : int 10 6 5 9 5 6 4 2 7 6 ...
$ Char_1 : Factor w/ 4 levels "A","B","C","D": 2 4 3 2 3 1 4 3 2 1 ...
$ Binary_1: int 0 1 1 1 1 0 0 1 0 0 ...
$ Binary_2: logi FALSE FALSE TRUE FALSE TRUE TRUE ...
$ Int_2 : int 3 9 9 4 5 1 3 6 5 6 ...
$ Char_2 : Factor w/ 2 levels "A","B": 1 1 2 2 1 1 2 2 1 1 ...
########
# インタラクティブな平行座標プロットを作成:parallelPlotコマンド
# html widgetsで操作:controlWidgetsオプション;TRUE/FALSE
# 参照指標の指定,本指標を基準に線色が設定される:refColumnDimオプション
# 線色を指定:categoricalCSオプション;
# 指標がカテゴリ変数の場合:"Category10","Accent","Dark2","Paired","Set1"
# その他:"Viridis","Inferno","Magma","Plasma","Warm","Cool","Rainbow",
# "CubehelixDefault","Blues","Greens","Greys","Oranges","Purples","Reds",
# "BuGn","BuPu","GnBu","OrRd","PuBuGn","PuBu",”RdBu","RdPu","YlGnBu",
# "YlGn","YlOrBr","YlOrRd";初期値:"Viridis"
# データをカテゴリ変数にする:categoricalオプション;list classで指定します
# カテゴリ変数の箱の表現設定:categoriesRepオプション;
# 指標間で等しい:EquallySizedBoxesオプション,
# データ量で可変:EquallySpacedLinesオプション
# カテゴリ変数の箱内の線の処理:arrangeMethodオプション;"fromLeft","fromRight","fromBoth")
# 指標名を指定する:columnLabelsオプション
# 指標名の45度回転:rotateTitleオプション;TRUE/FALSE
# 各指標にヒストグラムを付ける:histoVisibilityオプション;TRUE/FALSEで指定する
# 指標名左側に下矢印を付ける:invertedAxesオプション
# データのカットオフ:cutoffsオプション
# 水平の並び:refRowIndexオプション
parallelPlot(TestData,
# html widgetsで操作
controlWidgets = TRUE, width = 700, #height = 350,
# 参照指標の指定,本指標を基準に線色が設定される
refColumnDim = "Char_1",
# 線色を指定
categoricalCS = "Paired",
# データをカテゴリ変数にする
categorical = list(Char_1 = c("A", "B", "C", "D"),
Binary_1 = c(0, 1),
Binary_2 = c(0, 1),
Int_2 = 1:10,
Char_2 = c("A", "B")),
# カテゴリ変数の箱の表現設定
categoriesRep = "EquallySizedBoxes",
# カテゴリ変数の箱内の線の処理
arrangeMethod = "fromRight",
# 指標名を指定する
columnLabels = c("からだ<br>に<br>いいもの", "に", "いいもの", "R", "が", "楽しい"),
# 指標名の回転
rotateTitle = TRUE,
# 各指標にヒストグラムを付ける
histoVisibility = rep(TRUE, 6),
# 指標名左側に下矢印を付ける
invertedAxes = "Int_1",
# データのカットオフ;データ範囲はc(最小,最大)で指定する
cutoffs = list(Int_1 = list(c(4, 8)), Char_2 = "B"),
# 水平の並び
refRowIndex = 1
)
実行例
少しでも、あなたの解析が楽になりますように!!