如題 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)
有請各位先進教導小弟一下~感謝!