Re: Apply or Map on some parts of lists - help

• To: mathgroup at smc.vnet.net
• Subject: [mg115594] Re: Apply or Map on some parts of lists - help
• From: Ray Koopman <koopman at sfu.ca>
• Date: Sun, 16 Jan 2011 05:50:44 -0500 (EST)
• References: <igrqdn\$qot\$1@smc.vnet.net>

```On Jan 15, 1:46 am, dragec <culino... at gmail.com> wrote:
> Dear,
> I have
>
> List like:
>
> { {{TITLE1},{{x11,y11},{x12,y12},{x13,y13},{x14,y14}}},
>   {{TITLE1},{{x21,y21},{x22,y22},{x23,y23},{x24,y24}}},
>   {{TITLE1},{{x31,y31},{x32,y32},{x33,y33},{x34,y34}}}
>
> }
>
> So, I would like to apply some function (eg. #/3.6&) to all y's.
> Is there any elegant way to do this.
> I Know that you know how to do this. :)
>
> THX

This changes every 'y' to 'f[y]', but it's messy.
I can't shake the feeling that there's a simpler solution.

data =
{{{TITLE1},{{x11,y11},{x12,y12},{x13,y13},{x14,y14}}},
{{TITLE2},{{x21,y21},{x22,y22},{x23,y23},{x24,y24}}},
{{TITLE3},{{x31,y31},{x32,y32},{x33,y33},{x34,y34}}}}

Transpose@MapAt[Map[{#[[1]],f@#[[2]]}&,#,{2}]&,Transpose@data,2]

{{{TITLE1},{{x11,f[y11]},{x12,f[y12]},{x13,f[y13]},{x14,f[y14]}}},
{{TITLE2},{{x21,f[y21]},{x22,f[y22]},{x23,f[y23]},{x24,f[y24]}}},
{{TITLE3},{{x31,f[y31]},{x32,f[y32]},{x33,f[y33]},{x34,f[y34]}}}}

```

• Prev by Date: Re: Apply or Map on some parts of lists - help
• Next by Date: Re: How to force numeric output
• Previous by thread: Re: Apply or Map on some parts of lists - help
• Next by thread: Re: Apply or Map on some parts of lists - help