Rで解析:手軽にドットプロット(DotPlot)「FlexDotPlot」パッケージ

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

手軽にドットプロット(DotPlot)を作成できるパッケージの紹介です。ドットプロット(DotPlot)は遺伝子の発現と細胞組織の関係などで利用され、指標間の類似性を表現する図です。パッケージではggplot_objectで情報を保管できるので、何かと利用範囲が広いと思います。

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

スポンサーリンク

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

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

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

実行コマンド

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

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

###データ例の作成#####
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
  install.packages("tidyverse");require("tidyverse")
}
set.seed(1234)
TestData <- tibble(Group = factor(rep(paste0("Group", 1:30), time = 10)),
                   Test = factor(rep(paste0("Test", 1:10), each = 30)),
                   Value = sample(c(0:100), 300, replace = TRUE)) %>%
  as.data.frame()
########

#&#12489;&#12483;&#12488;&#12503;&#12525;&#12483;&#12488;&#12398;&#20316;&#25104;:dot_plot&#12467;&#12510;&#12531;&#12489;
#&#12487;&#12540;&#12479;&#12434;&#25351;&#23450;:data.to.plot&#12467;&#12510;&#12531;&#12489;
#&#12463;&#12521;&#12473;&#12479;&#12540;&#20998;&#26512;&#12398;&#26041;&#21521;:dend_x_var/end_y_var&#12458;&#12503;&#12471;&#12519;&#12531;
#&#12464;&#12523;&#12540;&#12503;&#38291;&#12398;&#36317;&#38626;&#35336;&#31639;:dist_method&#12458;&#12503;&#12471;&#12519;&#12531;
#"euclidean","maximum","manhattan","canberra","binary","minkowski"
#&#12463;&#12521;&#12473;&#12479;&#12540;&#20998;&#26512;&#12398;&#26041;&#27861;:hclust_method&#12458;&#12503;&#12471;&#12519;&#12531;
#"single","complete","average","mcquitty","ward.D","ward.D2",
#"centroid","median"
#&#20961;&#20363;&#12398;&#34920;&#31034;:plot.legend&#12458;&#12503;&#12471;&#12519;&#12531;
#&#12469;&#12540;&#12463;&#12523;&#12473;&#12465;&#12540;&#12523;&#12398;&#38542;&#32026;&#25968;:size.breaks.number/size.breaks.values&#12458;&#12503;&#12471;&#12519;&#12531;;&#25968;&#20516;/&#12505;&#12463;&#12488;&#12523;
#&#12459;&#12521;&#12540;&#12473;&#12465;&#12540;&#12523;&#12398;&#38542;&#32026;&#25968;:color.breaks.number/color.breaks.values&#12458;&#12503;&#12471;&#12519;&#12531;;&#25968;&#20516;/&#12505;&#12463;&#12488;&#12523;
#&#36600;&#12521;&#12505;&#12523;&#34920;&#31034;&#20301;&#32622;&#12398;&#35373;&#23450;:x.lab.pos/y.lab.pos&#12458;&#12503;&#12471;&#12519;&#12531;;
#x.lab.pos;"bottom","top","both","none"
#y.lab.pos;"left","right&rdquo;,"both","none"
#&#36600;&#12521;&#12505;&#12523;&#34920;&#31034;&#12469;&#12452;&#12474;&#12398;&#35373;&#23450;:x.lab.size.factor/y.lab.size.factor&#12458;&#12503;&#12471;&#12519;&#12531;
#x&#36600;&#12521;&#12505;&#12523;&#12398;&#32294;&#34920;&#31034;:x.lab.rot&#12458;&#12503;&#12471;&#12519;&#12531;;TRUE/FALSE
#&#12503;&#12525;&#12483;&#12488;&#20869;&#34892;&#21015;&#12398;&#22615;&#12426;&#12388;&#12406;&#12375;:vertical_coloring/horizontal_coloring&#12458;&#12503;&#12471;&#12519;&#12531;
#ggplot&#12458;&#12502;&#12472;&#12455;&#12463;&#12488;&#12392;&#12375;&#12390;&#21033;&#29992;&#12377;&#12427;:do.return&#12458;&#12503;&#12471;&#12519;&#12531;;TRUE/FALSE
dot_plot(data.to.plot = TestData,
         size_var = "Value",
         col_var = "Value",
         text_var = "Value",
         cols.use = c("red", "yellow"),
         shape_use = c("\u25CF","\u2737"),
         text.size = 3,
         #shape_var = "Value",
         #shape_use = c("\u2605","\u2736","\u25CF","\u2737","\u2726"),
         dend_x_var = "Value",
         dend_y_var = "Value",
         dist_method = "euclidean",
         hclust_method = "complete",
         shape.scale = 5,
         plot.legend = TRUE,
         size.breaks.number = 5,
         #size.breaks.values = c(0, 25, 50),
         color.breaks.number = 5,
         #color.breaks.values = c(0, 25, 50),
         x.lab.pos = "bottom",
         y.lab.pos = "left",
         x.lab.size.factor = 0.5,
         y.lab.size.factor = 0.3,
         x.lab.rot = TRUE,
         vertical_coloring = c("gray80", "NA"),
         do.return = TRUE
         ) -> ggplot_object

#&#30906;&#35469;:ggplot_object
#print(ggplot_object)

出力例


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

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