[R] overlap between line segments

Karla Shikev karlashikev at gmail.com
Tue Jul 14 15:18:54 CEST 2015


Fantastic. Thanks!

On Tue, Jul 14, 2015 at 7:03 AM, Jim Lemon <drjimlemon at gmail.com> wrote:

> Hi Karla,
> This might help. I haven't tested it exhaustively.
>
> transect_overlap<-function(x) {
>  if(!is.matrix(x)) stop("x must be a 2x2 matrix")
>  if(x[1,1] <= x[2,1]) {
>   if(x[2,2] > x[1,2]) overlap<-x[1,2]-x[2,1]
>   else overlap<-x[2,2]-x[2,1]
>  }
>  else {
>   if(x[1,2] > x[2,2]) overlap<-x[2,2]-x[1,1]
>   else overlap<-x[1,2]- x[1,1]
>  }
>  if(overlap < 0) overlap<-0
>  return(overlap)
> }
>
> Jim
>
>
> On Tue, Jul 14, 2015 at 7:44 AM, Karla Shikev <karlashikev at gmail.com>
> wrote:
> > Hi there,
> >
> > This is a newbie question, and I'm sure there are simple ways to do this,
> > but I've spent my entire afternoon and I couldn't get it to work.
> >
> > Imagine that I got my samples distributed along a transect and my data
> > refer to the first and last occurrences of each sample. For instance:
> >
> >> dat<-matrix(c(1,3,2.5,4), ncol=2, byrow=TRUE)
> >> dat
> >      [,1] [,2]
> > [1,]  1.0    3
> > [2,]  2.5    4
> >
> >
> > The first line indicates that the first and last occurrences of this
> > subject were 1 and 3, respectively, whereas the second subject was found
> > between 2.5 and 4.
> >
> > I need a simple way to calculate the overlap of their extents (0.5 in
> this
> > case). This way should provide 0 if there is no overlap, and it should
> also
> > work in the case where one subject is found only within the extent of the
> > second subject.
> >
> > Any help will be greatly appreciated.
> >
> > Karla
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list