Re: Map onto one column of a matrix
- To: mathgroup at smc.vnet.net
- Subject: [mg95528] Re: Map onto one column of a matrix
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Wed, 21 Jan 2009 06:43:00 -0500 (EST)
- Organization: Uni Leipzig
- References: <gl49tb$g7v$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
Hi,
data = {{a, b}, {c, d}};
MapAt[f, #, {-1}] & /@ data
data /. {q_, r_?AtomQ} :> {q, f[r]}
Regards
Jens
. Grady wrote:
> Hi, suppose we've got a matrix
>
> data = {{a, b}, {c, d}};
>
> and we want to map a function onto just the second column, so we want
> to end up with
>
> {{a, f[b]}, {c, f[d]}}.
>
> The best way I've found to do this is with MapAt:
>
> MapAt[f, data, Table[{i, 2}, {i, Length@data}]]
>
> Is there a better way? I keep hoping there's some notation similar to
> what's used in Part that lets you refer to a whole column with All,
> like data[[All,2]]. Thanks!
>
> -Daniel
>