DJa*_*ack 1 regression r ggplot2
我有这种数据框:
df<-data.frame(x=c(1,2,3,4,5,6,7,8,9,10),y=c(2,11,24,30,45,65,90,110,126,145), a=c(0.2,0.2,0.3,0.4,0.1,0.8,0.7,0.6,0.8,0.9))
Run Code Online (Sandbox Code Playgroud)
使用ggplot,我想在同一图上绘制两条回归线,根据条件(a>或<0.5)计算我的数据帧的子集.
在视觉上,我想要两个回归线:
df_a<-subset(df, df$a<0.5)
ggplot(df_a,aes(x,y))+
geom_point(aes(color = a), size=3.5) +
geom_smooth(method="lm", size=1, color="black") +
ylim(-5,155) +
xlim(0,11)
Run Code Online (Sandbox Code Playgroud)

df_b<-subset(df, df$a>0.5)
ggplot(df_b,aes(x,y)) +
geom_point(aes(color = a), size=3.5) +
geom_smooth(method="lm", size=1, color="black") +
ylim(-5,155) +
xlim(0,11)
Run Code Online (Sandbox Code Playgroud)

出现在这个数字上:
ggplot(df,aes(x,y))+ geom_point(aes(color = a), size=3.5)
Run Code Online (Sandbox Code Playgroud)

我试过par(new=TRUE)没有成功.
创建一个标志变量,并使用组:
df$small=df$a<0.5
ggplot(df,aes(x,y,group=small))+geom_point() + stat_smooth(method="lm")
Run Code Online (Sandbox Code Playgroud)
如果你愿意,可以拥有漂亮的颜色和传奇:
ggplot(df,aes(x,y,group=small,colour=small))+geom_point() + stat_smooth(method="lm")
Run Code Online (Sandbox Code Playgroud)

或许你想要点彩点:
ggplot(df,aes(x,y,group=small)) +
stat_smooth(method="lm")+geom_point(aes(colour=a))
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
1593 次 |
| 最近记录: |