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

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

Rで解析:インタラクティブな平行座標プロットを作成「parallelPlot」パッケージ

インタラクティブな平行座標プロットを作成するパッケージの紹介です。出力例を実行例に示します。指標はドラッグで入れ替えたり、線の色などを変更することが可能です。

なお、体裁の細かい設定やプロットデータの指定はコマンドで指定します。

パッケージのバージョンは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
             )

実行例

少しでも、あなたの解析が楽になりますように!!

このコードの続きをAIに聞く

スポンサーリンク
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.