title: long to wide with dplyr
body: <p>I have a data frame which is structured like this one:</p>
  
  <pre><code>dd &lt;- data.frame(round = c("round1", "round2", "round1", "round2"),
                   var1 = c(22, 11, 22, 11),
                   var2 = c(33, 44, 33, 44),
                   nam = c("foo", "foo", "bar", "bar"),
                   val = runif(4))
  
     round var1 var2 nam        val
  1 round1   22   33 foo 0.32995729
  2 round2   11   44 foo 0.89215038
  3 round1   22   33 bar 0.09213526
  4 round2   11   44 bar 0.82644723
  </code></pre>
  
  <p>From this I would like to obtain a data frame with two lines, one for each value of <code>nam</code>, and variables 
  <code>var1_round1</code>, <code>var1_round2</code>, <code>var2_round1</code>, <code>var2_round2</code>, <code>val_round1</code>, <code>val_round2</code>. I would <em>really</em> like to find a dplyr solution to this. </p>
  
  <pre><code>  nam var1_round1 var1_round2 var2_round1 var2_round2 val_round1 val_round2
  1 foo          22          11          33          44 0.32995729  0.8921504
  2 bar          22          11          33          44 0.09213526  0.8264472
  </code></pre>
  
  <p>The closest thing I can think of would be to use <code>spread()</code> in some creative way but I can't seem to figure it out. </p>