使用 R 中的 ggplot2 在單一繪圖中建立多條迴歸線。


要使用 ggplot2 在單一繪圖中建立多條迴歸線,我們可以使用 geom_jitter 函式和 geom_smooth 函式。geom_smooth 函式可幫助我們用不同的顏色建立不同的迴歸線,而 geom_jitter 將區分點。

檢視下面的示例以瞭解如何操作。

示例

以下程式碼段建立了一個樣本資料框 -

x1<-rpois(20,1)
y1<-rpois(20,5)
x2<-rpois(20,2)
y2<-rpois(20,8)
x3<-rpois(20,2)
y3<-rpois(20,4)
df<-data.frame(x1,y1,x2,y2,x3,y3)
df

建立以下資料框

  x1 y1 x2 y2 x3 y3
 1 2  2  0  6  1 6
 2 3  4  0  9  1 7
 3 2  4  3  7  2 3
 4 0 12  2 11  0 1
 5 0  2  0  6  1 1
 6 1  7  2  7  1 3
 7 0  4  0  4  1 5
 8 0  3  2  5  0 1
 9 1  4  3  3  0 9
10 0  2  0  8  3 5
11 0  7  4 11  2 4
12 0  4  3  8  2 1
13 0  6  0  6  2 4
14 1  6  1  9  2 2
15 2  3  1  9  6 2
16 1  3  1 10  5 2
17 0  5  1  8  2 6
18 1  2  4  7  2 4
19 0  5  2 11  0 7
20 2  8  4  8  2 4

要載入 ggplot2 包,並在以上建立的資料框上在單一繪圖中建立多個模型的迴歸線,可將以下程式碼新增到上述程式碼段 -

x1<-rpois(20,1)
y1<-rpois(20,5)
x2<-rpois(20,2)
y2<-rpois(20,8)
x3<-rpois(20,2)
y3<-rpois(20,4)
df<-data.frame(x1,y1,x2,y2,x3,y3)
library(ggplot2)

ggplot(df)+geom_jitter(aes(x1,y1),colour="red")+geom_smooth(aes(x1,y1,col="red"
),method="lm",se=FALSE)+
+
geom_jitter(aes(x2,y2),colour="green")+geom_smooth(aes(x2,y2,col="green"),metho
d="lm",se=FALSE)+
+
geom_jitter(aes(x3,y3),colour="blue")+geom_smooth(aes(x3,y3,col="blue"),method=
"lm",se=FALSE)
`geom_smooth()` using formula 'y ~ x'
`geom_smooth()` using formula 'y ~ x'
`geom_smooth()` using formula 'y ~ x'

輸出

如果你將上面給出的所有程式碼段作為一個程式執行,它將生成以下輸出 -

更新日期:2021 年 11 月 12 日

9K+ 瀏覽

啟動您的 職業生涯

完成課程以獲得認證

開始
廣告