Re: normalize a table
- To: mathgroup at smc.vnet.net
- Subject: [mg72815] Re: normalize a table
- From: Julia Gog <jrg20 at cam.nospam.ac.uk>
- Date: Sat, 20 Jan 2007 04:16:57 -0500 (EST)
- Organization: University of Cambridge, England
- References: <eopmgk$rr4$1@smc.vnet.net>
There probably are shorter ways to do it, but I would work with the transposed table like this: trans = Transpose[firsttable] new = Transpose[{trans[[1]]/Max[trans[[1]]], trans[[2]]}] 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 > >