title: How to use facet_grid correctly in ggplot2?
body: <p>I'm trying to generate one chart per profile with the following code, but I keep getting "At least one layer must contain all variables used for facetting." errors. I spent the last few hours trying to make it work but I couldn't.</p>
  
  <p>I believe the anwser must be simple, can anyone help?</p>
  
  <pre><code>d = structure(list(category = structure(c(2L, 2L, 1L, 1L, 1L, 1L, 
  1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
  1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 
  3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L), .Label = c("4X4", 
  "HATCH", "SEDAN"), class = "factor"), profile = structure(c(1L, 
  1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
  3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
  3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 
  1L), .Label = c("FIXED", "FREE", "MOBILE"), class = "factor"), 
      value = c(6440.32, 6287.22, 9324, 7532, 7287.63, 6827.27, 
      6880.48, 7795.15, 7042.51, 2708.41, 1373.69, 6742.87, 7692.65, 
      7692.65, 8116.56, 7692.65, 7692.65, 7692.65, 7962.65, 8116.56, 
      5691.12, 2434, 8343, 7727.73, 7692.65, 7721.15, 1944.38, 
      6044.23, 8633.65, 7692.65, 7692.65, 8151.65, 7692.65, 7692.65, 
      2708.41, 3271.45, 3333.82, 1257.48, 6223.13, 7692.65, 6955.46, 
      7115.46, 7115.46, 7115.46, 7115.46, 6955.46, 7615.46, 2621.21, 
      2621.21, 445.61)), .Names = c("category", "profile", "value"
  ), class = "data.frame", row.names = c(NA, -50L))
  
  library(ggplot2)
  
  p = ggplot(d, aes(x=d$value, fill=d$category)) + geom_density(alpha=.3)
  p + facet_grid(d$profile ~ .)
  </code></pre>