[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