title: How to put an apply equivalent to any for loop
body: <p>Most pro R users have advised me never to use loops in R. Use apply functions instead. The problem is that it is not that intuitive to write an apply equivalent for every for/while loop if you're not familiar with functional programming. Take the below example for instance.</p>
  
  <pre><code>F &lt;- data.frame(name = c("a", "b", "c", "d"), var1 = c(1,0,0,1), var2 = c(0,0,1,1),  
  var3 = c(1,1,1,1), clus = c("one", "two", "three", "four"))
  F$ObjTrim &lt;- ""
  for (i in 1:nrow(F))
  {
   for (j in 2:(ncol(F)-1))
  {
   if(F[i, j] == 1) 
   {F$ObjTrim[i]  &lt;- paste(F$ObjTrim[i], colnames(F)[j], sep = " ") }
  
   }
    print(i)
  }
  </code></pre>
  
  <p>The objective here is to create a variable "ObjTrim" that takes the value of all the column names that have a value == 1. Can some one suggest a good apply equivalent to this?</p>
  
  <p>The code above for example will give :</p>
  
  <pre><code> name var1 var2 var3  clus         ObjTrim
  1    a    1    0    1   one       var1 var3
  2    b    0    0    1   two            var3
  3    c    0    1    1 three       var2 var3
  4    d    1    1    1  four  var1 var2 var3
  </code></pre>
  
  <p>Thanks!</p>