MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

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