title: Reorganize list into dataframe using dplyr
body: <p>I would convert a structured list in a tidy dataFrame using the speed of the dplyr package. 
  I would know if the solution I am posting right now is "state-of-art" or there's something faster. </p>
  
  <p>Here is an example of my starting list:</p>
  
  <pre><code>l = list()
  l[[1]] = list(member1=c(a=rnorm(1)),member2=matrix(rnorm(3),nrow=3,ncol=1,dimnames=list(c(letters[2:4]),c("sample"))))
  l[[2]] = list(member1=c(a=rnorm(1)),member2=matrix(rnorm(3),nrow=3,ncol=1,dimnames=list(c(letters[2:4]),c("sample"))))
  l[[3]] = list(member1=c(a=rnorm(1)),member2=matrix(rnorm(3),nrow=3,ncol=1,dimnames=list(c(letters[2:4]),c("sample"))))
  </code></pre>
  
  <p>With this result (to show you the toy structure):</p>
  
  <pre><code>l
  [[1]]
  [[1]]$member1
      a 
  0.3340196 
  
  [[1]]$member2
   sample
  b 1.0098830
  c 0.6413375
  d 0.9080675
  
  [[2]]
  [[2]]$member1
      a 
  0.0590878 
  
  [[2]]$member2
    sample
  b  0.5585736
  c -0.5936157
  d -0.3985687
  
  [[3]]
  [[3]]$member1
       a 
  0.06242458 
  
  [[3]]$member2
    sample
  b -0.2873391
  c  0.5326067
  d -1.1635551
  </code></pre>
  
  <p>Now I'll use a convenience function to rearrange the data an <code>lapply</code> to navigate through the list:</p>
  
  <pre><code>organizeSamples = function(x){
    member = x$member2
    output = data.frame(key=rownames(member),value=member[,1])
    return(output)
  }
  l_new = lapply(l, organizeSamples)
  </code></pre>
  
  <p>Now dplyr does the magic:</p>
  
  <pre><code>samples = dplyr::bind_rows(l_new)
  samples :
  
    key      value
  1   b  1.0098830
  2   c  0.6413375
  3   d  0.9080675
  4   b  0.5585736
  5   c -0.5936157 
  6   d -0.3985687
  7   b -0.2873391
  8   c  0.5326067
  9   d -1.1635551
  </code></pre>
  
  <p>There's a way to do it faster, more elegant &amp; compact using dplyr?</p>