Rで解析:データをインタラクティブに探索「scatterPlotMatrix」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

インタラクティブな散布図マトリクスでデータの探索が可能なパッケージの紹介です。コマンドだけではなくGUIで操作しデータの探索ができます。直感で操作できるので大変便利だと思います。

なお、「tibble class」のデータ形式ではカテゴリ変数が上手く取り込まれませんでした。データ形式は「data.frame」で実行してください。

パッケージバージョンは0.2.0。実行コマンドはRStudioのRStudio Desktop 2021.09.2+382、windows 11のR version 4.1.3で確認しています。

スポンサーリンク

パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("scatterPlotMatrix")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("scatterPlotMatrix")

###データ例の作成#####
set.seed(1234)
n <- 50
TestData <- data.frame(Group = factor(sample(paste0("Group", 1:4), n,
                                             replace = TRUE)),
                       X_1_Data = sample(c(1:50), n, replace = TRUE),
                       Y_1_Data = sample(c(51:100), n, replace = TRUE),
                       X_2_Data = sample(c(1:50), n, replace = TRUE),
                       Y_2_Data = sample(c(51:100), n, replace = TRUE),
                       Cha_Data = factor(sample(LETTERS[1:5], n, replace = TRUE)))
########

#&#12452;&#12531;&#12479;&#12521;&#12463;&#12486;&#12451;&#12502;&#12394;&#25955;&#24067;&#22259;&#12510;&#12488;&#12522;&#12463;&#12473;:scatterPlotMatrix&#12467;&#12510;&#12531;&#12489;
scatterPlotMatrix(data = TestData,
                  #&#34920;&#31034;&#35373;&#23450;:slidersPosition&#12458;&#12503;&#12471;&#12519;&#12531;
                  #list&#12391;&#25351;&#23450;&#12377;&#12427;
                  slidersPosition = list(
                    dimCount = 4, #&#34920;&#31034;&#12377;&#12427;&#25968;
                    xStartingDimIndex = 2, #X&#20596;&#12398;&#12473;&#12521;&#12452;&#12480;&#12540;&#20301;&#32622;
                    yStartingDimIndex = 3 #y&#20596;&#12398;&#12473;&#12521;&#12452;&#12480;&#12540;&#20301;&#32622;
                  ),
                  
                  #&#12487;&#12540;&#12479;&#12398;&#21021;&#26399;&#12464;&#12523;&#12540;&#12503;&#22522;&#28310;&#12434;&#25351;&#23450;:zAxisDim&#12458;&#12503;&#12471;&#12519;&#12531;
                  #&#12510;&#12488;&#12522;&#12463;&#12473;&#12398;&#12487;&#12540;&#12479;&#12521;&#12505;&#12523;&#12434;&#12463;&#12522;&#12483;&#12463;&#12375;&#12464;&#12523;&#12540;&#12503;&#12434;&#35373;&#23450;&#21487;&#33021;
                  zAxisDim = "Group",
                  
                  #&#12459;&#12486;&#12468;&#12522;&#22793;&#25968;&#12364;&#12464;&#12523;&#12540;&#12503;&#22522;&#28310;&#26178;&#12398;&#33394;:categoricalCS&#12458;&#12503;&#12471;&#12519;&#12531;;
                  #"Category10","Accent","Dark2","Paired","Set1"
                  categoricalCS = "Dark2",
                  
                  #&#36899;&#32154;&#22793;&#25968;&#12364;&#12464;&#12523;&#12540;&#12503;&#22522;&#28310;&#26178;&#12398;&#33394;:continuousCS&#12458;&#12503;&#12471;&#12519;&#12531;;
                  #"Viridis","Inferno","Magma","Plasma","Warm",
                  #"Cool","Rainbow","CubehelixDefault","Blues",
                  #"Greens","Greys","Oranges","Purples","Reds",
                  #"BuGn","BuPu","GnBu","OrRd","PuBuGn","PuBu",
                  #"PuRd","RdBu","RdPu","YlGnBu","YlGn","YlOrBr","YlOrRd"
                  continuousCS = "Blues",
                  
                  #&#21491;&#19978;&#37096;&#12398;&#34920;&#29694;&#26041;&#27861;&#12434;&#25351;&#23450;:corrPlotType&#12458;&#12503;&#12471;&#12519;&#12531;;
                  #"Empty","Circles","Text","AbsText"
                  corrPlotType = "Text",
                  
                  #&#12464;&#12521;&#12501;&#24418;&#24335;&#12434;&#25351;&#23450;:distribType&#12458;&#12503;&#12471;&#12519;&#12531;;
                  #1:density_plot,2:histogram,NULL
                  distribType = 1,
                  
                  #&#25955;&#24067;&#22259;&#12395;&#22238;&#24112;&#32218;&#12434;&#36861;&#21152;:regressionType&#12458;&#12503;&#12471;&#12519;&#12531;;
                  #1:linear,2:loess,NULL
                  regressionType = 1,
                  
                  #&#25955;&#24067;&#22259;&#12398;&#26360;&#24335;&#35373;&#23450;:plotProperties&#12458;&#12503;&#12471;&#12519;&#12531;
                  #list&#12391;&#25351;&#23450;&#12377;&#12427;
                  plotProperties = list(
                    point = list(alpha = 0.8,
                                 radius = 3)
                  )
                  )

#gui&#12391;&#25805;&#20316;&#12375;&#12394;&#12364;&#12425;&#12452;&#12531;&#12479;&#12521;&#12463;&#12486;&#12451;&#12502;&#12394;&#25955;&#24067;&#22259;&#12510;&#12488;&#12522;&#12463;&#12473;
#controlWidgets&#12458;&#12503;&#12471;&#12519;&#12531;:TRUE/FALSE
scatterPlotMatrix(data = TestData, controlWidgets = TRUE)

出力例

X、Y側のグレイのスクロールバーはデータ表示数の機能を持っています。バーの端をドラッグすることで表示数を調整することが可能です。また、各データラベルをクリックすることで、データのグループ基準を指定可能です。


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

タイトルとURLをコピーしました