On 1/19/07 at 1:01 AM, ruth.lazkoz at ehu.es (Ruth) wrote:
>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
First, getting the divisor can be done as
In[2]:=
data={{1,0.2},{2,0.3},{3,0.4},{4,0.5}};
In[3]:=
scale=Max[First/@data]
Out[3]=
4
then, the desired result can be achieved with pattern matching as:
In[4]:=
data/.{a_,b_}->{a/scale,b}
Out[4]=
{{1/4, 0.2}, {1/2, 0.3}, {3/4, 0.4}, {1, 0.5}}
or functional programming as
In[5]:=
{First@#/scale,Last@#}&/@data
Out[5]=
{{1/4, 0.2}, {1/2, 0.3}, {3/4, 0.4}, {1, 0.5}}
--
To reply via email subtract one hundred and four