Rで解析:特定のグループに注目!!「ggfocus」パッケージ

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

「ggplot2」パッケージで特定のグループに注目した図を簡単に作成できるパッケージの紹介です。例えば散布図で特定グループをカラーで、他グループを白黒表示するなどです。便利なパッケージだと思います。

パッケージバージョンは1.0.0。実行コマンドはR version 4.2.2で確認しています。

スポンサーリンク

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

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

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

実行コマンド

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

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

###データ例の作成#####
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
  install.packages("tidyverse");require("tidyverse")
}
set.seed(1234)
n <- 50
TestData <- tibble(Group = sample(paste0("Group", 1:4), n,
                                  replace = TRUE),
                   X_num_Data = sample(c(1:50), n, replace = TRUE),
                   Y_num_Data = sample(c(51:100), n, replace = TRUE))

#ggplotひな形を作成
#散布図
Point_Plot <- ggplot(TestData, aes(x = X_num_Data, y = Y_num_Data)) +
  geom_point()
#棒グラフ
Column_Plot <- ggplot(TestData, aes(x = X_num_Data, y = Y_num_Data,
                                    fill = Group)) +
  geom_col()
#折れ線グラフ
Line_Plot <- ggplot(TestData, aes(x = 1:50, y = Y_num_Data,
                                  group = Group, linetype = Group)) +
  geom_line() 
########

#散布図で注目:scale_color_focusコマンド
#対象を指定:focus_levelsオプション;文字列で指定
#色を指定:color_focusオプション
Point_Plot + aes(colour = Group, size = 5) + 
  scale_color_focus(focus_levels = c("Group2", "Group4"),
                    color_focus = c("red", "blue")) +
  guides(size = "none")

#棒グラフで注目:scale_fill_focusコマンド
#対象を指定:focus_levelsオプション;文字列で指定
#色を指定:color_focus
Column_Plot +
  scale_fill_focus(focus_levels = c("Group2", "Group4"),
                   color_focus = c("red", "blue"))

#折れ線グラフで注目:scale_linetype_focusコマンド
#ひな形のaesにgroup,linetypeを指定するのがポイント
#対象を指定:focus_levelsオプション;文字列で指定
#対象の線種を指定:linetype_focusオプション
#対象外の線種を指定:linetype_otherオプション
Line_Plot +
  scale_linetype_focus(focus_levels = c("Group2", "Group4"),
                       linetype_focus = c(5, 1),
                       linetype_other = 3)

#シンボルの種類と大きさで注目:scale_shape_focusコマンド&scale_size_focusコマンド
##scale_shape_focusコマンド
#対象のシンボルを指定:shape_focusオプション
#対象外のシンボルを指定:shape_otherオプション
Point_Plot + aes(size = Group, shape = Group) +
  scale_shape_focus(focus_levels = c("Group2", "Group4"),
                    shape_focus = c(18, 21), shape_other = 1) +
##scale_size_focusコマンド
#対象のシンボルサイズを指定:size_focusオプション
#対象外のシンボルサイズを指定:size_otherオプション
  scale_size_focus(focus_levels = c("Group2", "Group4"),
                   size_focus = 7, size_other = 3)

出力例

・scale_color_focusコマンド

・scale_fill_focusコマンド

・scale_linetype_focusコマンド

・scale_shape_focusコマンド&scale_size_focusコマンド


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

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