看板 R_Language 關於我們 聯絡資訊
如題 abline畫出的線都是占整個版面 如下圖 ppt.cc/Nivoy 我要如何只畫特定的區間? 如下圖 ppt.cc/9HpS6 目前的程式碼如下 #產生資料 x=runif(50) y=runif(50) #得知區間 library(ifultools) x <- seq(0,2*pi,length=50) y <- as.numeric(y) z <- linearSegmentation(x,y,n.fit = 10,angle.tolerance=15) plot(x,y,type="o", col="blue") abline(v=x[z], lty=2) #>z [1]14 36 表示1-13個資料點做一次迴歸 14~35 36~50以此類推 #產生三個區間之資料 data=t(rbind(x,y)) data1=as.data.frame(data[c(1:13),]) data2=as.data.frame(data[c(14:35),]) data3=as.data.frame(data[c(36:50),]) #分別對三個區間做回歸 model1=lm(y~x,data1) #intercept=0.5041,slope=-0.00728 model2=lm(y~x,data2) #intercept=0.41374 ,slope=0.03807 model3=lm(y~x,data3) #intercept=1.6148 ,slope=-0.2295 #畫abline abline(a=0.5041,b=-0.00728,col="red",lwd=2) abline(a=0.41374,b=0.003807,col="green",lwd=2) abline(a=1.6148,b=-0.2295,col="blue",lwd=2) 有請各位先進教導小弟一下~感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.184.161.128 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1437750452.A.4B2.html
andrew43: segments(),當然這比較麻煩,因為要先算predict() 07/24 23:14
andrew43: segments()就是畫自行指定的直線或折線罷了。 07/24 23:15
sinclairJ: 回A大 我會試試看 不過因為我要畫的線條還沒有結束 07/24 23:18
sinclairJ: 畫出那三個區間的線段後 我還要針對每個線段上下平移 07/24 23:18
sinclairJ: 某個值在畫線段 有種管制圖的概念 所以以我這個例子為 07/24 23:19
sinclairJ: 例的話 會有九條線在這張圖上~ 07/24 23:19
andrew43: 沒很懂「上下平移」實際是什麼事情。有需要的話請再發言 07/24 23:38