title: How to merge two data.frames together in R, referencing a lookup table
body: <p>I am trying to merge two <code>data.frames</code> together, based on a common column name in each of them called <code>series_id</code>.  Here is my merge statement: </p>
  
  <pre><code>merge(test_growth_series_LUT,  test_growth_series, by = intersect(series_id, series_id))
  </code></pre>
  
  <p>The error I'm getting is </p>
  
  <blockquote>
    <p>Error in as.vector(y) : object 'series_id' not found</p>
  </blockquote>
  
  <p>The help gives this description, but I can't see why it can't find the <code>series_id</code>.   Example data is below.  </p>
  
  <pre><code>### S3 method for class 'data.frame':
     #merge(x, y, by = intersect(names(x), names(y)),
     #      by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all,
     #      sort = TRUE, suffixes = c(".x",".y"), ...)
  
  
  
  # Create a long data.frame to store data...
  test_growth_series = data.frame ("read_day" = c(0, 3, 9, 0, 3, 9, 0, 2, 8), 
  "series_id" = c("p1s1", "p1s1", "p1s1", "p1s2", "p1s2", "p1s2", "p3s4", "p3s4", "p3s4"),
  "mean_od" = c(0.6, 0.9, 1.3, 0.3, 0.6, 1.0, 0.2, 0.5, 1.2),
  "sd_od" = c(0.1, 0.2, 0.2, 0.1, 0.1, 0.3, 0.04, 0.1, 0.3),
  "n_in_stat" = c(8, 8, 8, 8, 7, 5, 8, 7, 2)
  )
  
  # Create a name LUT
  test_growth_series_LUT = data.frame ("series_id" = c("p1s1", "p1s2", "p3s4", "p4s2", "p5s2", "p6s2", "p7s4", "p8s4", "p9s4"),"description" = c("blah1", "blah2", "blah3", "blah4", "blah5", "blah6", "blah7", "blah8", "blah9")
  )
  
  &gt; test_growth_series
    read_day series_id mean_od sd_od n_in_stat
  1        0      p1s1     0.6  0.10         8
  2        3      p1s1     0.9  0.20         8
  3        9      p1s1     1.3  0.20         8
  4        0      p1s2     0.3  0.10         8
  5        3      p1s2     0.6  0.10         7
  6        9      p1s2     1.0  0.30         5
  7        0      p3s4     0.2  0.04         8
  8        2      p3s4     0.5  0.10         7
  9        8      p3s4     1.2  0.30         2
  &gt; test_growth_series_LUT
    series_id description
  1      p1s1       blah1
  2      p1s2       blah2
  3      p3s4       blah3
  4      p4s2       blah4
  5      p5s2       blah5
  6      p6s2       blah6
  7      p7s4       blah7
  8      p8s4       blah8
  9      p9s4       blah9
  &gt; 
  
  
  
  this is what I'm trying to achieve:  
  &gt; new_test_growth_series
    read_day series_id mean_od sd_od n_in_stat        description
  1        0      p1s1     0.6  0.10         8        blah1
  2        3      p1s1     0.9  0.20         8        blah1
  3        9      p1s1     1.3  0.20         8        blah1
  4        0      p1s2     0.3  0.10         8        blah2
  5        3      p1s2     0.6  0.10         7        blah2
  6        9      p1s2     1.0  0.30         5        blah2
  7        0      p3s4     0.2  0.04         8        blah3
  8        2      p3s4     0.5  0.10         7        blah3
  9        8      p3s4     1.2  0.30         2        blah3
  </code></pre>