ggplot2のgeom_smoothでR2値や方程式を追加する方法


  1. R2値の追加: geom_smooth関数には、methodパラメータを指定することで異なる平滑化手法を選択できます。デフォルトでは、自動的に適切な手法が選択されますが、"lm"を指定することで線形回帰モデルを使用することができます。この場合、R2値は表示されませんが、次のようにして表示することができます。
library(ggplot2)
data <- ...  # データの読み込み
ggplot(data, aes(x, y)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE) +
  annotate("text", x = xmax, y = ymax, label = paste0("R2 = ", round(summary(lm(y ~ x, data = data))$r.squared, 2)))

上記のコードでは、annotate関数を使用してグラフ上にテキストを追加しています。テキストの内容は、summary関数を使用して線形回帰モデルのR2値を計算し、ラベルとして表示しています。

  1. 回帰方程式の追加: 回帰方程式を追加するには、同様にannotate関数を使用し、summary関数を使用して回帰モデルの係数を取得します。次のようなコードを使用することができます。
ggplot(data, aes(x, y)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE) +
  annotate("text", x = xmax, y = ymax, label = paste0("y = ", round(coef(lm(y ~ x, data = data))[1], 2), " + ", round(coef(lm(y ~ x, data = data))[2], 2), "x"))

上記のコードでは、coef関数を使用して回帰モデルの係数を取得し、ラベルとして表示しています。

これらの方法を使用すると、ggplot2のgeom_smoothでR2値や回帰方程式を追加することができます。必要に応じて、他のパラメータやテーマをカスタマイズすることもできます。