title: Gathering columns from wide to long by id
body: <p>I've got a data frame like this:</p>
  
  <pre><code>set.seed(100)
  
  drugs &lt;- data.frame(id = 1:5, 
                  drug_1 = letters[1:5], drug_dos_1 = sample(100,5),
                  drug_2 = letters[3:7], drug_dos_2 = sample(100,5)
  )
  
  id drug_1 drug_dos_1 drug_2 drug_dos_2
  1      a         31      c         49
  2      b         26      d         81
  3      c         55      e         37
  4      d          6      f         54
  5      e         45      g         17
  </code></pre>
  
  <p>I'd like to transform this messy table into a tidy table with all drugs of an id in one column and the corresponding drug dosages in one column. The table should look like this in the end:</p>
  
  <pre><code>id drug dosage
  1  a    31
  1  c    49
  2  b    26
  2  d    81
  etc
  </code></pre>
  
  <p>I guess this could be achieved by using a reshaping function that transforms by data from wide to long format but I didn't manage.</p>