Re: Normalize a collection of arrays on a specific column
- To: mathgroup at smc.vnet.net
- Subject: [mg85930] Re: [mg85897] Normalize a collection of arrays on a specific column
- From: Carl Woll <carlw at wolfram.com>
- Date: Thu, 28 Feb 2008 02:45:25 -0500 (EST)
- References: <200802270924.EAA16008@smc.vnet.net>
Curtis Osterhoudt wrote: >(Note: this is a re-send of a message. I haven't seen the message show up in >the list (or its archives), so I'm assuming it's lost in the aether. I >apologize if this shows up twice.) > > >Hi, all, > > I'm looking for a relatively efficient (read: not doing so >element-by-element) way of taking a collection of several matrices, all of >the same m x n dimensions (say), and normalizing all of them in >whatever column I choose. If possible, it would be nice to extend this >to any number of dimensions, but that's not necessary now. > > For example, I'm looking for a function, "normalizeColumn[listOfLists_, >p_]" which would normalize the pth column of all of the lists, not >individually, but over the whole set, returning the whole set with just >the pth column changed in each of its constituent lists. > > Let dat1 = {{1,3,4}, {2,2,-5}, {1,1,1}} and dat2 = {{0, 3, 6}, >{2,1,4}, {5, 3, -5}}. Then if dat3 = {dat1, dat2}, the normalizeColumn >function should return > > normalizeColumn[dat3, 2] = {{{1, 1, 4}, {2, 1/2, -5}, {1, 0, 1}}, >{{0, 1, 6}, {2, 0, 4}, {5, 1, -5}}}. > > I'm quite certain there's an easy way to do it; I should be able to do >something analogous on several hundred, 200 x 200 matrices at the same >time. > > Best wishes, and thanks, > Curtis O. > > > > Something like: normalizeColumn[data_, p_] := Module[{tmp = data}, tmp[[All, All, 2]] = (tmp[[All, All, 2]] - 1)/2; tmp] perrhaps? In[149]:= normalizeColumn[{dat1, dat2}, 2] Out[149]= {{{1, 1, 4}, {2, 1/2, -5}, {1, 0, 1}}, {{0, 1, 6}, {2, 0, 4}, {5, 1, -5}}} Carl Woll Wolfram Research
- References:
- Normalize a collection of arrays on a specific column
- From: Curtis Osterhoudt <cfo@lanl.gov>
- Normalize a collection of arrays on a specific column