[R-sig-Geo] how to calculate centroid (or centre of gravity) of a population (count data)

Tiago Marques tiagoandremarques at gmail.com
Wed Apr 20 12:19:04 CEST 2016


Hi Diego,

A perhaps dumb yet straightforward way of doing it is to replicate each 
point the number of times of its corresponding count, this will get you 
the right unbiased centroid, essentially  a weighted average as 
Marcelino suggests, assuming that the weight you use is proportional to 
the count. It's like saying that each bird contributes once to the 
centroid location, instead of each point contributing once.

Note that just by using your suggested kernelUD you don't really get the 
centroid of the points (I think, never used it myself actually), I 
suspect you simply get a kernel estimate of the bivariate distribution 
of the points in space. Going from that to an actual centroid is 
possible but non necessarily straightforward.

The answer to your specific question is much simpler than that: in 2D, 
simple calculate the means of the X and Y coordinates, multiply each 
coordinate by a weight, the count - that would be an alternative to what 
I suggested above - and there is your centroid.

Note that this gets you the right mean centroid, but not necessarily the 
right variance for that centroid estimate. Also, you might want to think 
about if that is the right weight. But those are all questions beyond 
your original question ;)

cheers

Tiago

Às 09:36 de 20/04/2016, Marcelino de la Cruz escreveu:
> Hi Diego,
>
> it seems to me that what you want to compute are weighted centroids.
>
> Here some advice is given (it is for polygons but you can get the idea):
>
> https://stat.ethz.ch/pipermail/r-sig-geo/2016-February/024107.html
>
> Cheers,
>
> Marcelino
>
>
>
> El 20/04/2016 a las 8:45, Diego Pavon escribió:
>> Dear all
>>
>> I am working with count data and I want to assess whether the centre of
>> gravity of the population (centroid or mean latitude?) has change over
>> time, indicating some redistribution or shift ongoing. To simplify, 
>> let's
>> say that I have ca. 2000 sites censused in two consecutive years (same
>> sites censused both years - all sites) and the abundance (count) of the
>> species registered.
>>
>> I first thought about doing a kernelUD (package adehabitatHR) but
>> apparently this only takes into account the location of the sites to
>> calculate the kernel and then the centroids. Thus, since I have the 
>> exact
>> same sites in both years, the centroids for year 1 and year 2 are the 
>> same.
>> In my case, what I would like to do is to calculate that centroid but
>> taking into account the counts, because a site that had 3 individuals in
>> both years can't have the same weight than a site that hosted 3000
>> individuals when calculating the centroids.
>>
>> So, what I would like to have is the centroid (or centre of gravity) 
>> of the
>> counts not of the sites surveyed (which is what adehabitatHR does,a s 
>> far
>> as I understood).
>>
>> Do you have any suggestions which package other than adehabitatXX to use
>> for this purpose? Or if this can be done with adehabitat?
>>
>> Thank you very much for your help.
>>
>> Diego
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo


---
Este e-mail foi verificado em termos de vírus pelo software antivírus Avast.
https://www.avast.com/antivirus



More information about the R-sig-Geo mailing list