1. ホーム
  2. r

[解決済み] ggplotに回帰直線を追加する

2022-03-05 14:31:09

質問

ggplotに回帰線を追加しようと頑張っています。最初はablineでやってみましたが、うまくいきませんでした。そして、私はこれを試してみました...

data = data.frame(x.plot=rep(seq(1,5),10),y.plot=rnorm(50))
ggplot(data,aes(x.plot,y.plot))+stat_summary(fun.data=mean_cl_normal) +
   geom_smooth(method='lm',formula=data$y.plot~data$x.plot)

しかし、これもうまくいきません。

どうすればいいですか?

一般的に、独自の数式を提供するためには、引数を使用する必要があります。 xy で指定した値に対応する ggplot() - この場合 x は、次のように解釈されます。 x.ploty として y.plot . 平滑化の方法と計算式についての詳細は,関数 stat_smooth() で使用されるデフォルトの統計であるため geom_smooth() .

ggplot(data,aes(x.plot, y.plot)) +
  stat_summary(fun.data=mean_cl_normal) + 
  geom_smooth(method='lm', formula= y~x)

で指定した x と y の値をそのまま使用する場合、その値は 1 になります。 ggplot() の呼び出しで、線形回帰線をプロットする必要がある場合、以下の数式を使用する必要はありません。 geom_smooth() を提供するだけです。 method="lm" .

ggplot(data,aes(x.plot, y.plot)) +
  stat_summary(fun.data= mean_cl_normal) + 
  geom_smooth(method='lm')