Rで解析:多変数の関係把握に便利です!!「ggcorrplot」パッケージ

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

多変数の関係を把握するのに大変便利なパッケージだと思います。表などでも構いませんが、一度に情報を確認するのには図がやっぱり便利です。パッケージは図式化以外にも相関係数のp値を算出するコマンドも収録されています。

でも、相関係数やそのp値は外れ値があると誤った解釈につながりますので一度、散布図やヒストグラムなどで分布や頻度を確認することをオススメします。

なお、本パッケージにはggplot2が利用されています。ggplot2は下記記事を参考にしてください。

・ggplot2の紹介
 https://www.karada-good.net/analyticsr/r-78/

パッケージバージョンは0.1.3。実行コマンドはwindows 11のR version 4.1.2で確認しています。


スポンサーリンク

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

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

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

実行コマンド

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

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

###データ例の作成#####
n <- 10
#list&#12395;&#19968;&#24230;&#12487;&#12540;&#12479;&#12434;&#26684;&#32013;
ListData <- vector("list", n)
#&#36899;&#32154;&#20966;&#29702;
for(i in seq(n)){
  ListData[[i]] <- sample(1:50, n, replace = TRUE)}
#&#25104;&#20998;&#21517;&#12434;&#20184;&#19982;
names(ListData) <- paste0("Group", 1:n)
#&#12487;&#12540;&#12479;&#12501;&#12524;&#12540;&#12512;&#21270;
TestData <- as.data.frame(ListData)
#&#22522;&#26412;&#12467;&#12510;&#12531;&#12489;&#12391;&#30456;&#38306;&#20418;&#25968;&#12434;&#35336;&#31639;:cor&#12467;&#12510;&#12531;&#12489;
#&#36317;&#38626;&#12398;&#35336;&#31639;:method&#12458;&#12503;&#12471;&#12519;&#12531;;"pearson","kendall","spearman"&#12398;&#25351;&#23450;&#12364;&#21487;&#33021;
CorResult <- cor(TestData, method = "pearson")
########

#&#30456;&#38306;&#20418;&#25968;&#12398;p-values&#12434;&#35336;&#31639;:cor_pmat&#12467;&#12510;&#12531;&#12489;
PCorResult <- cor_pmat(TestData)

#&#32080;&#26524;&#12434;&#12503;&#12525;&#12483;&#12488;:ggcorrplot&#12467;&#12510;&#12531;&#12489;
#&#12503;&#12525;&#12483;&#12488;&#12487;&#12540;&#12479;&#12398;&#25351;&#23450;:corr&#12458;&#12503;&#12471;&#12519;&#12531;
#&#12479;&#12452;&#12523;&#12398;&#24418;&#12434;&#25351;&#23450;:method&#12458;&#12503;&#12471;&#12519;&#12531;;"square":&#22235;&#35282;,"circle":&#20024;
#&#12503;&#12525;&#12483;&#12488;&#38936;&#22495;:type&#12458;&#12503;&#12471;&#12519;&#12531;;"full":&#20840;&#20307;,"lower":&#19979;&#37096;,"upper":&#19978;&#37096;
#&#33394;&#12398;&#25351;&#23450;:colors&#12458;&#12503;&#12471;&#12519;&#12531;
#&#30456;&#38306;&#20418;&#25968;&#12398;&#34920;&#31034;:lab&#12458;&#12503;&#12471;&#12519;&#12531;;TRUE:&#34920;&#31034;
#hcclust&#12467;&#12510;&#12531;&#12489;&#12391;&#12463;&#12521;&#12473;&#12479;&#12522;&#12531;&#12464;&#20966;&#29702;:hc.order&#12458;&#12503;&#12471;&#12519;&#12531;
#hc.order:TRUE&#12398;&#22580;&#21512;
ggcorrplot(corr = CorResult, hc.order = TRUE, method = "square", title = "TEST PLOT",
           colors = c("#4b61ba", "white", "red"), lab = TRUE)
#hc.order:FALSE&#12398;&#22580;&#21512;
ggcorrplot(corr = CorResult, hc.order = FALSE, method = "square", title = "TEST PLOT",
           colors = c("#4b61ba", "white", "red"), lab = TRUE)

#cor_pmat&#12467;&#12510;&#12531;&#12489;&#12398;&#32080;&#26524;&#12434;&#36969;&#24540;
#&#32080;&#26524;&#12487;&#12540;&#12479;&#12434;&#25351;&#23450;:p.mat&#12458;&#12503;&#12471;&#12519;&#12531;
#0.5&#12363;&#12425;-0.5&#12398;&#12479;&#12452;&#12523;&#35373;&#23450;:"pch";&#12496;&#12484;&#21360;,"blank";&#22615;&#12426;&#28961;&#12375;
#p.mat:blank&#12398;&#22580;&#21512;
ggcorrplot(corr = CorResult, method = "square", title = "TEST p-value PLOT",
           type = "lower", p.mat = PCorResult, insig = "blank")
#p.mat:pch&#12398;&#22580;&#21512;
ggcorrplot(corr = CorResult, method = "square", title = "TEST p-value PLOT",
           type = "lower", p.mat = PCorResult, insig = "pch")

出力例

・hc.order:TRUEの場合

hc.order:TRUE

・hc.order:FALSEの場合

hc.order:FALSE

・p.mat:blankの場合

p.mat:blank

・p.mat:pchの場合

p.mat:pch

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

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