[R-sig-Geo] center of mass for variable values in a grid

Barry Rowlingson b.rowlingson at lancaster.ac.uk
Sun Sep 12 20:13:26 CEST 2010


On Sat, Sep 11, 2010 at 4:26 PM, Waichler, Scott R
<Scott.Waichler at pnl.gov> wrote:
>> > Is there an existing function to compute the coordinates for the center
>> > of mass of a variable in a 2D or 3D grid, where dx, dy, and dz are known
>> > for all cells?  The mass in each cell varies by location.
>>
>>  If your data is in a data frame of coordinates x, y, (and maybe z),
>> and variable W for all cells, and all your cells are the same size,
>> then its just the weighted average of the coordinate (assuming your
>> dataframe is the complete grid). So:
>>
>>  xm = sum(d$x*d$W)/sum(d$W)
>>  ym = sum(d$y*d$W)/sum(d$W)
>
> You're right, it's simple for a grid where dx and dy are constant.  Thanks.  But if they vary?

 Treat the masses as points centred at each grid cell and then find
the weighted mean of X and Y as before.

 I've just discovered there's a 'weighted.mean' function...

Barry



More information about the R-sig-Geo mailing list