title: Using All in MapAt in Mathematica
body: <p>I often have a list of pairs, as</p>
  <pre><code>data = {{0,0.0},{1,12.4},{2,14.6},{3,25.1}}
  </code></pre>
  <p>and I want to do something, for instance <code>Rescale</code>, to all of the second elements without touching the first elements. The neatest way I know is:</p>
  <pre><code>Transpose[MapAt[Rescale, Transpose[data], 2]]
  </code></pre>
  <p>There must be a way to do this without so much <code>Transpose</code>ing. My wish is for something like this to work:</p>
  <pre><code>MapAt[Rescale, data, {All, 2}]
  </code></pre>
  <p>But my understanding is that <code>MapAt</code> takes <code>Position</code>-style specifications instead of <code>Part</code>-style specifications. What's the proper solution?</p>
  <h3>To clarify,</h3>
  <p>I'm seeking a solution where I don't have to repeat myself, so lacking double <code>Transpose</code> or double <code>[[All,2]]</code>, because I consider repetition a signal I'm not doing something the easiest way. However, if eliminating the repetition requires the introduction of intermediate variables or a named function or other additional complexity, maybe the transpose/untranspose solution is already correct.</p>