title: Create vector of data frame subsets based on group by of columns
body: <p>Suppose I have this R data frame:</p>
  
  <pre><code>              ts year month day
  1  1295234818000 2011     1  17
  2  1295234834000 2011     1  17
  3  1295248650000 2011     1  17
  4  1295775095000 2011     1  23
  5  1296014022000 2011     1  26
  6  1296098704000 2011     1  27
  7  1296528979000 2011     2   1
  8  1296528987000 2011     2   1
  9  1297037448000 2011     2   7
  10 1297037463000 2011     2   7
  
  dput(a)
  structure(list(ts = c(1295234818000, 1295234834000, 1295248650000, 
  1295775095000, 1296014022000, 1296098704000, 1296528979000, 1296528987000, 
  1297037448000, 1297037463000), year = c(2011, 2011, 2011, 2011, 
  2011, 2011, 2011, 2011, 2011, 2011), month = c(1, 1, 1, 1, 1, 
  1, 2, 2, 2, 2), day = c(17, 17, 17, 23, 26, 27, 1, 1, 7, 7)), .Names = c("ts", 
  "year", "month", "day"), row.names = c(NA, 10L), class = "data.frame")
  </code></pre>
  
  <p>Is there a way to create a vector of data frames, where each one is a subset of the original with unique group-by combinations of year, month, and day? Ideally, I would like to get back data frames DF1, DF2, DF3, DF4, DF5, and DF6, in that order, where:</p>
  
  <p>DF1:</p>
  
  <pre><code>              ts year month day
  1  1295234818000 2011     1  17
  2  1295234834000 2011     1  17
  3  1295248650000 2011     1  17
  </code></pre>
  
  <p>DF2:</p>
  
  <pre><code>4  1295775095000 2011     1  23
  </code></pre>
  
  <p>DF3:</p>
  
  <pre><code>5  1296014022000 2011     1  26
  </code></pre>
  
  <p>DF4:</p>
  
  <pre><code>6  1296098704000 2011     1  27
  </code></pre>
  
  <p>DF5:</p>
  
  <pre><code>7  1296528979000 2011     2   1
  8  1296528987000 2011     2   1
  </code></pre>
  
  <p>DF6:</p>
  
  <pre><code>9  1297037448000 2011     2   7
  10 1297037463000 2011     2   7
  </code></pre>
  
  <p>Any help would be appreciated.</p>