尽管有两组使用ggplot2,但是单个回归线的散点图

Doc*_*Doc 7 regression r scatter-plot ggplot2

我想用ggplot2生成一个散点图,它包含所有数据点的回归线(无论它们来自哪个组),但同时通过分组变量改变标记的形状.下面的代码生成组标记,但提出了两个回归线,每组一个.

#model=lm(df, ParamY~ParamX)
p1<-ggplot(df,aes(x=ParamX,y=ParamY,shape=group)) + geom_point() + stat_smooth(method=lm)
Run Code Online (Sandbox Code Playgroud)

我该怎么编程呢?

use*_*1_G 11

你不应该重做完整aesgeom_point并添加另一个层,只要将形状aesgeom_point呼叫:

df <- data.frame(x=1:10,y=1:100+5,grouping = c(rep("a",10),rep("b",10)))
ggplot(df,aes(x=x,y=y)) + 
geom_point(aes(shape=grouping)) + 
stat_smooth(method=lm)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

编辑:

为了帮助您发表评论:

因为annotate无论如何,对于我来说,每个方面都有相同的标签.我喜欢制作一个迷你版data.frame,其中包含我的变量用于刻面和小平面,另一列代表我想要使用的标签.在这种情况下,调用标签数据帧dfalbs.

然后使用它来标记数据框以单独标记构面,例如

df <- data.frame(x=1:10,y=1:10,grouping =   
                  c(rep("a",5),rep("b",5)),faceting=c(rep(c("oneR2","twoR2"),5)))


dflabs <- data.frame(faceting=c("oneR2","twoR2"),posx=c(7.5,7.5),posy=c(2.5,2.5))

ggplot(df,aes(x=x,y=y,group=faceting)) + 
       geom_point(aes(shape=grouping),size=5) + 
       stat_smooth(method=lm) +
       facet_wrap( ~ faceting) +
       geom_text(data=dflabs,aes(x=posx,y=posy,label=faceting))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述