title: How to convert a complicated wide table into long table
body: <p>I'm dealing with a complicated wide table looks like this:</p>
  <pre><code>date      hour   type  A  B  C  D  E
  20100202    0     x    1  2  3  4  5
  20100202    0     y    6  7  8  9  10
  20100202    1     x   11 12 13 14  15
  20100202    1     y   16 17 18 19  20
  </code></pre>
  <p>The format I'm looking for is:</p>
  <pre><code>date      hour   object  x   y
  20100202    0     A      1   6
  20100202    0     B      2   7
  20100202    0     C      3   8
  20100202    0     D      4   9
  20100202    0     E      5  10
  20100202    1     A     11  16
  20100202    1     B     12  17
  20100202    1     C     13  18
  20100202    1     D     14  19
  20100202    1     E     15  20
  </code></pre>
  <p>I've been looking the similar questions that have been proposed before, but I didn't find much useful solution (although I'm pretty sure that's because I'm pretty new to this language)</p>
  <p>Any suggestions or help would be appreciated!</p>