「ggplot2」パッケージだけで2軸グラフを作成するコマンド例です。「scale_y_continuous」コマンドと「sec.axis」コマンドを利用しています。
「tidyverse」パッケージバージョンは1.3.2。windows11のR version 4.2.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール
install.packages("tidyverse")
実行コマンドの紹介
詳細はコマンド、パッケージのヘルプを確認してください。
#ggplot2を含むtidyverseパッケージの読み込み
library("tidyverse")
###データ例の作成#####
set.seed(1234)
n <- 50
TestData <- tibble(Group = sample(paste0("Group ", 1:5), n, replace = TRUE),
Data = 1:n,
Data1 = 1:n,
Data2 = rnorm(n))
########
#第2軸調整変数
SecondScale <- max(TestData$Data1)/max(TestData$Data2)
ggplot(TestData, aes(x = Data)) +
#Data1が第1軸
stat_summary(aes(y = Data1, fill = Group), fun = "mean",
geom = "bar", position = "stack") +
#Data2が第2軸
geom_line(aes(y = Data2*SecondScale), col = "blue", size = 4) +
#2軸の調整
scale_y_continuous(name = "Data1 = sample(0:26, n, replace = TRUE)",
sec.axis = sec_axis(trans = ~./SecondScale,
breaks = seq(-10, 10, by = 1),
name = "Data2 = rnorm(n)")) +
#テーマで軸を調整
theme(
#第2軸回り
axis.title.y.right = element_text(color = "red", #色の指定
angle = -90) #90で第1軸と同じ向き
)
出力例

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