title: Passing column names to user defined function inside mutate_at
body: <p>I am struggling to pass column names inside my custom function while using dplyr - mutate_at.
  I have a dataset "dt" with thousands of columns and I would like to perform mutate for some of these columns, but in a way which is dependent on the column name</p>
  
  <p>I have this piece of code </p>
  
  <p>Option 1:</p>
  
  <pre><code>relevantcols = c("A", "B", "C")
  myfunc &lt;- function(colname, x) {
     #write different logic per column name
  }
  dt%&gt;%
    mutate_at(relevantcols, funs(myfunc(&lt;what should i give?&gt;,.)))
  </code></pre>
  
  <p>I tried approaching the problem in another way, i.e by iterating over relevantcols and applying mutate_at for each of the elements of the vector as follows</p>
  
  <p>Option 2:</p>
  
  <pre><code>for (i in 1:length(relevantcols)){
    dt%&gt;%
    mutate_at(relevantcols[i], funs(myfunc(relevantcols[i], .))
  }
  </code></pre>
  
  <p>I get the colnames in Option 2, but it is 10 times slower than Option 1. Can I get somehow the column names in Option 1?</p>
  
  <p>Adding an example for more clarity</p>
  
  <pre><code>df = data.frame(employee=seq(1:5), Mon_channelA=runif(5,1,10), Mon_channelB=runif(5,1,10), Tue_channelA=runif(5,1,10),Tue_channelB=runif(5,1,10))
  df
   employee Mon_channelA Mon_channelB Tue_channelA Tue_channelB
  1        1     5.234383     6.857227     4.480943     7.233947
  2        2     7.441399     3.777524     2.134075     6.310293
  3        3     7.686558     8.598688     9.814882     9.192952
  4        4     6.033345     5.658716     5.167388     3.018563
  5        5     5.595006     7.582548     9.302917     6.071108
  relevantcols = c("Mon_channelA", "Mon_channelB")
  myfunc &lt;- function(colname, x) {
  #based on the channel and weekday, compare the data from corresponding column with  the same channel but different weekday and return T if higher else F
  }
  # required output
  employee Mon_channelA Mon_channelB Tue_channelA Tue_channelB
  1        1     T     F     4.480943     7.233947
  2        2     T     F     2.134075     6.310293
  3        3     F     F     9.814882     9.192952
  4        4     T     T     5.167388     3.018563
  5        5     F     T     9.302917     6.071108
  </code></pre>