Re: normalize a table
- To: mathgroup at smc.vnet.net
- Subject: [mg72799] Re: [mg72768] normalize a table
- From: Adriano Pascoletti <pascolet at dimi.uniud.it>
- Date: Sat, 20 Jan 2007 03:12:39 -0500 (EST)
- References: <200701190601.BAA28573@smc.vnet.net>
Ruth, here is a solution based on transposition In[1]:= L = {{1, 0.2}, {2, 0.3}, {3, 0.4}, {4, 0.5}}; ((Transpose[{#1/Max[#1], #2}] & ) @@ Transpose[#1] & )[L] Out[2]= {{1/4, 0.2}, {1/2, 0.3}, {3/4, 0.4}, {1, 0.5}} Adriano Pascoletti On 19 gen 2007, at 07:01, Ruth wrote: > Hi, > > I want to do something really simple, which is take a table made of > pairs and normalize the first number in each pair by dividing by the > largest. > > For instance, I want to transform this list > > {{1,0.2},{2,0.3},{3,0.4},{4,0.5}} > > into this one > > {{1/4, 0.2}, {1/2, 0.3}, {3/4, 0.4}, {1, 0.5}} > > The way i did it is through the chain of commands > > firsttable={{1,0.2},{2,0.3},{3,0.4},{4,0.5}}; > > > top=Max[Table[firsttable[[i,1]],{i,1,Length[firsttable]}]]; > > > mytable=Do[newtable=ReplacePart[newtable,newtable[[i,1]]/top,{i, > 1}],{i,1,Length[firsttable]}] > > There must be a more elegant way to do it, but @&# and commands like > those are still hard to handle for me, and I could not work it out > > Thanks in advance, > > Ruth > >
- References:
- normalize a table
- From: Ruth <ruth.lazkoz@ehu.es>
- normalize a table