「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コマンド

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