I have 2 vectors:
x1 = rnorm(100,0,1)
x2 = rnorm(100,1,1)
If you literally just have two random vectors of numbers, you can use a pretty simple technique to get the intersection of both. Just find all points where
x1 is above
x2, and then below it on the next point, or vice-versa. These are the intersection points. Then just use the respective slopes to find the intercept for that segment.
set.seed(1) x1=rnorm(100,0,1) x2=rnorm(100,1,1) # Find points where x1 is above x2. above<-x1>x2 # Points always intersect when above=TRUE, then FALSE or reverse intersect.points<-which(diff(above)!=0) # Find the slopes for each line segment. x1.slopes<-x1[intersect.points+1]-x1[intersect.points] x2.slopes<-x2[intersect.points+1]-x2[intersect.points] # Find the intersection for each segment. x.points<-intersect.points + ((x2[intersect.points] - x1[intersect.points]) / (x1.slopes-x2.slopes)) y.points<-x1[intersect.points] + (x1.slopes*(x.points-intersect.points)) # Plot. plot(x1,type='l') lines(x2,type='l',col='red') points(x.points,y.points,col='blue')