作者sinclairJ (SunnyGymBoy)
看板R_Language
标题[问题] 如何画abline於特定的区间上
时间Fri Jul 24 23:07:29 2015
如题 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://webptt.com/cn.aspx?n=bbs/R_Language/M.1437750452.A.4B2.html
1F:→ andrew43: segments(),当然这比较麻烦,因为要先算predict() 07/24 23:14
2F:→ andrew43: segments()就是画自行指定的直线或折线罢了。 07/24 23:15
3F:→ sinclairJ: 回A大 我会试试看 不过因为我要画的线条还没有结束 07/24 23:18
4F:→ sinclairJ: 画出那三个区间的线段後 我还要针对每个线段上下平移 07/24 23:18
5F:→ sinclairJ: 某个值在画线段 有种管制图的概念 所以以我这个例子为 07/24 23:19
6F:→ sinclairJ: 例的话 会有九条线在这张图上~ 07/24 23:19
7F:→ andrew43: 没很懂「上下平移」实际是什麽事情。有需要的话请再发言 07/24 23:38