title: How can I reshape a list of list from wide to long
body: <p>I have a list of list with common structure</p>
  
  <pre><code>require(data.table)
  l &lt;- list(a1 = list(b=data.table(rnorm(3)), c=data.table(rnorm(3)), d=data.table(rnorm(3))),
            a2 = list(b=data.table(rnorm(3)), c=data.table(rnorm(3)), d=data.table(rnorm(3))))
  </code></pre>
  
  <p>Sometimes it is easier for <code>lapply</code> to change the structure to go from a 2x3 list to a 3x2 list like:</p>
  
  <pre><code>+a1---b         +b---a1
     ---c           ---a2
     ---d         +c---a1
  +a2---b    to     ---a2
     ---c         +d---a1
     ---d           ---a2
  </code></pre>
  
  <p>Is there an idiomatic way to do this ?</p>
  
  <p>Can it be done without copying over all the tables (that may be very big) ?</p>