1. ホーム
  2. r

[解決済み] geom_smooth の color="black" は、Rの gglplot2 で lm 行を変更します。なぜでしょうか?

2022-02-06 03:53:23

質問

簡単に入手できるデータで作例を作っています。

data(Salaries, package="car")
library(tidyverse)

実行時

ggplot(Salaries, aes(x=yrs.since.phd, y=salary, color=rank))+
geom_point() +
geom_smooth(method="lm", size=0.5)+
facet_grid(~sex)

ランクごとにLM線を作成するグラフができました。

しかし

ggplot(Salaries, aes(x=yrs.since.phd, y=salary, color=rank))+
geom_point() +
geom_smooth(method="lm", colour="black", size=0.5)+
facet_grid(~sex)

グラフには、すべてのデータに対して一意のlm線が表示されるようになりました。

何が起こっているのか、何か心当たりはありますか?なぜcolor="black"を設定すると、グラフィック内のlmラインの全体の外観が変わるのでしょうか?

どうすればいいですか?

このようなことが起こるのは colorgeom_smooth の場合、コードの先頭行で設定された美観を上書きしていることになります。すべてのグループの行を黒にしたい場合は group -での美学 geom_smooth を次のようにします。

ggplot(Salaries, aes(x=yrs.since.phd, y=salary, color=rank))+
  geom_point() +
  geom_smooth(aes(group=rank), method="lm", color = "black", size=0.5)+
  facet_grid(~sex)