Re: Data preparation and statistics question
- To: mathgroup at smc.vnet.net
- Subject: [mg41825] Re: [mg41741] Data preparation and statistics question
- From: Omega Consulting <info at omegaconsultinggroup.com>
- Date: Fri, 6 Jun 2003 09:50:57 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
At 06:13 AM 6/3/2003, Moranresearch at aol.com wrote: >I have a set of data l1={xj,yj,zj} where {j,1,n} >I would like to group the data into a uniform "grid" comprised of "cells". >The dimension of a cell would be x_increment by y_increment. >The center of the cell would be (x + x_increment/2,y + y_increment/2} >The z value would be the Mean of all z values falling within that cell. >Once I have this "conditioned" data I wish to do a multiple regression of >mean z of cells against x,y values of the center of the cells. Thank you. An example l1 = Table[Random[], {100}, {3}]; There's a Statistics function, BinLists, which is appropriate for sorting the data. << Statistics` regions = BinLists[l1, {0, 1, .2}, {0, 1, .2}, {0, 1}]; So all the data where 0<x<.2 and 0<y<.2 is in the "upper-left" of regions. regions[[1, 1]] {{{0.0898259, 0.0648057, 0.563821}, {0.010711, 0.121522, 0.7502}}} Now we need a function to find the average z value in each region. AverageZ[region_] := Module[{pts, zs}, pts = First[region]; zs = Map[Last, pts]; Mean[zs] ] And we map it onto each region to get a matrix of z values. zvalues = Map[AverageZ, regions, {2}] The x and y values can be generated with a Table. xyvalues = Table[{x, y}, {x, .1, .9, .2}, {y, .1, .9, .2}] And paired with the z values. avgdata = Flatten[MapThread[Append, {xyvalues, zvalues}, 2], 1] Then you can do your statistical operations on the new dataset. -------------------------------------------------------------- Omega Consulting "The final answer to your Mathematica needs" http://omegaconsultinggroup.com