[R-sig-eco] altitudinal overlap
Stefano Leonardi
stefano.leonardi at unipr.it
Tue Jul 14 10:14:55 CEST 2015
The first think that came to my mind:
overlap <- function(v1,v2) {
ov <-min(max(v1), max(v2)) - max(min(v1), min(v2))
ifelse(ov > 0, ov, 0)
}
overlap(dat[1,], dat[2,])
[1] 0.5
Ciao
Stefano
On 14/07/2015 01:03, Karla Shikev 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 the altitudinal range of different species. 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 this species is found between 1 and 3,
> whereas the second species 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--
======================================================================
Stefano Leonardi
Dipartimento di Bioscienze
Universita` di Parma
Viale Usberti 11a Phone : +39-0521-905659
43124 PARMA (Italy) Fax : +39-0521-905402
Il mio photoblog: http://stefanoleonardi.wordpress.com
More information about the R-sig-ecology
mailing list