使用 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'
輸出
如果你將上面給出的所有程式碼段作為一個程式執行,它將生成以下輸出 -
廣告