title: Use `dplyr` or `purrr` to modify a row element conditional on another row element?
body: <p>I'm trying to modify multiple elements of a row, conditional on another element in that row.</p>
  <p>I was able to achieve my desired output using a double <code>for</code> loop (see below), but since I know that R is built for vectorized operations, this is probably not the right approach. Is there a cleaner / more efficient way of doing this with tidyverse tools, such as <code>dplyr</code> or <code>purrr</code>?</p>
  <p>I think some combination of <code>rowwise()</code> or <code>across()</code> with <code>mutate()</code> might work, but I can't get it right.</p>
  <pre class="lang-r prettyprint-override"><code># Define Data
  df &lt;- head(mtcars)
      
  # Modify Data
  for (i in 1:nrow(df)) {
    for (col in c(&quot;mpg&quot;, &quot;cyl&quot;, &quot;disp&quot;, &quot;hp&quot;)) {
      df[i,][col] &lt;- ifelse(df[i,]['carb'] == 4,
                            df[i,][col] * 100,
                            df[i,][col])
    }
  }
  </code></pre>
  <pre><code># Before
                         mpg cyl disp  hp drat    wt  qsec vs am gear carb
  Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
  Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
  Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
  Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
  Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
  Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
  </code></pre>
  <pre><code># After
                       mpg cyl  disp    hp drat    wt  qsec vs am gear carb
  Mazda RX4         2100.0 600 16000 11000 3.90 2.620 16.46  0  1    4    4
  Mazda RX4 Wag     2100.0 600 16000 11000 3.90 2.875 17.02  0  1    4    4
  Datsun 710          22.8   4   108    93 3.85 2.320 18.61  1  1    4    1
  Hornet 4 Drive      21.4   6   258   110 3.08 3.215 19.44  1  0    3    1
  Hornet Sportabout   18.7   8   360   175 3.15 3.440 17.02  0  0    3    2
  Valiant             18.1   6   225   105 2.76 3.460 20.22  1  0    3    1
  </code></pre>