R ggplot2添加回归线(逻辑)

R ggplot2添加回归线(逻辑),r,ggplot2,R,Ggplot2,我有两行不同的代码: ggplot(mpg,aes(displ,hwy,colour = factor(cyl))) + geom_point() + geom_smooth(method = 'lm') ggplot(mpg,aes(displ,hwy)) + geom_point(aes(colour = factor(cyl))) + geom_smooth(method = 'lm') 第一个代码为3个不同的组生成3条回归线(因子变量) . 第二个代码只为整个数据集生成一行 我的问题

我有两行不同的代码:

ggplot(mpg,aes(displ,hwy,colour = factor(cyl))) + geom_point() + geom_smooth(method = 'lm')

ggplot(mpg,aes(displ,hwy)) + geom_point(aes(colour = factor(cyl))) + geom_smooth(method = 'lm')
第一个代码为3个不同的组生成3条回归线(因子变量) . 第二个代码只为整个数据集生成一行


我的问题是:这种差异背后的逻辑是什么?我明白了,输出取决于
颜色=系数(cyl)
,但您能解释一下这种情况下ggplo2的逻辑吗?

考虑以下两行代码,它们是等效的(在第一种情况下,我们通过在ggplot中全局提供颜色变量对geom_点和geom_平滑进行分组,在第二种情况下,局部使用geom_点和geom_平滑进行分组):

现在,在您提供的另一个示例代码中,通过使用cyl变量对点进行分组,使用不同的颜色对点进行着色,但不将geom_平滑分组,这就是为什么它适用于整个数据,而不是像前面的情况那样分别适用于3个组

ggplot(mpg,aes(displ,hwy)) + 
geom_point(aes(colour = factor(cyl))) + 
geom_smooth(method = 'lm')

好吧,我认为第一个使用全局美学贴图,默认情况下,它由每个几何体继承。第二个使用局部贴图进行颜色美学。
ggplot(mpg,aes(displ,hwy)) + 
geom_point(aes(colour = factor(cyl))) + 
geom_smooth(method = 'lm')