 
 
 
 
 
 
Re: normalize a table
- To: mathgroup at smc.vnet.net
- Subject: [mg72813] Re: normalize a table
- From: "gkruger" <gkruger at nwz.uni-muenster.de>
- Date: Sat, 20 Jan 2007 04:08:55 -0500 (EST)
- References: <eopmgk$rr4$1@smc.vnet.net>
Hi Ruth
this should work fine:
With[{max = Max[Transpose[firsttable][[1]]]},
  Transpose[{Map[#/max &, Transpose[firsttable][[1]]],
      Transpose[firsttable][[2]]}]]
Or you can put it in a function:
NormTable[ftab_] :=
  With[{max = Max[Transpose[ftab][[1]]]},
    Transpose[{Map[#/max &, Transpose[ftab][[1]]],
Transpose[ftab][[2]]}]]
Greetings
Guido
With transpose you can change between nor
Ruth schrieb:
> 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

