title: out of order date in ggplot2
body: <p>I typically know how to order my dates in ggplot but something is different about this data and I'm hoping someone can clarify for me.</p>
  
  <p>Consider:</p>
  
  <pre><code>ggplot(tmp3)+
  geom_boxplot(aes(x=simdte,y=r2))+
  facet_wrap(~simyr, scales='free_x')+
  theme(axis.text.x=element_text(angle=45,hjust=1))
  </code></pre>
  
  <p>The dates are in alphanumeric order but now I want to format the x axis labels so I tried:</p>
  
  <pre><code>ggplot(tmp3)+
  geom_boxplot(aes(x=reorder(strftime(strptime(simdte,'%Y%m%d'),'%b-%d'),as.numeric(simdte)),y=r2))+
  facet_wrap(~simyr, scales='free_x')+
  theme(axis.text.x=element_text(angle=45,hjust=1))
  </code></pre>
  
  <p>but notice that all the dates are in order EXCEPT Jun-08 in 2015.</p>
  
  <p>I also tried </p>
  
  <pre><code>tmp3=
  tmp3 %&gt;%
  mutate(plotsimdte=factor(strftime(strptime(simdte,'%Y%m%d'),'%b-%d'),                        levels=strftime(strptime(unique(simdte),'%Y%m%d'),'%b-%d')[order(unique(simdte))]))
  </code></pre>
  
  <p>and plotting with <code>x=plotsimdte</code> but no difference. I get a warning when I create this factor about duplicated levels which is confusing since I'm only using unique values.</p>
  
  <p>Lastly, I tried </p>
  
  <pre><code>ggplot(tmp3)+
  geom_boxplot(aes(x=as.Date(simdte,'%Y%m%d'),y=r2, group=simdte))+
  scale_x_date(date_labels ='%b-%d')+
  facet_wrap(~simyr, scales='free_x')+
  theme(axis.text.x=element_text(angle=45,hjust=1))
  </code></pre>
  
  <p>but I'd like to keep the dates discrete because their importance is as an identifier rather than distribution through time.</p>
  
  <p>Any advice would be appreciated. Thanks</p>
  
  <p>A small subset of my data</p>
  
  <p>EDIT: updated dput output with as.data.frame</p>
  
  <pre><code>&gt; dput(as.data.frame(tmp3))
  structure(list(mdldte = c("20130525", "20140407", "20140413", 
  "20150608", "20130525", "20150608", "20140420", "20130429", "20130608", 
  "20130608", "20140323", "20140413", "20150325", "20150608", "20140511", 
  "20130601", "20150608", "20130608", "20140420", "20150305", "20150415", 
  "20130608", "20140531", "20150608", "20140531", "20150608", "20130403", 
  "20130503", "20150415", "20140407", "20150608", "20140323", "20130525", 
  "20140420", "20130403", "20130403", "20130608", "20150501", "20150608", 
  "20130429", "20160607", "20140527", "20140420", "20140531", "20140502", 
  "20150325", "20140428", "20160620", "20160620", "20130403", "20160527", 
  "20150415", "20140413", "20160607", "20140413", "20150608", "20160613", 
  "20150608", "20140407", "20150501", "20140323", "20160607", "20140531", 
  "20150305", "20150409", "20140428", "20130503", "20130525", "20140428", 
  "20140407", "20130503", "20130525", "20130403", "20150305", "20150217", 
  "20150501", "20130608", "20150305", "20150217", "20130608", "20140511", 
  "20160527", "20140502", "20150415"), simdte = c("20130403", "20130403", 
  "20130403", "20130429", "20130429", "20130429", "20130503", "20130503", 
  "20130503", "20130525", "20130525", "20130525", "20130601", "20130601", 
  "20130601", "20130608", "20130608", "20130608", "20140323", "20140323", 
  "20140323", "20140407", "20140407", "20140407", "20140413", "20140413", 
  "20140413", "20140420", "20140420", "20140420", "20140428", "20140428", 
  "20140428", "20140502", "20140502", "20140502", "20140511", "20140511", 
  "20140511", "20140517", "20140517", "20140517", "20140527", "20140527", 
  "20140527", "20140531", "20140531", "20140531", "20150217", "20150217", 
  "20150217", "20150305", "20150305", "20150305", "20150325", "20150325", 
  "20150325", "20150409", "20150409", "20150409", "20150415", "20150415", 
  "20150415", "20150427", "20150427", "20150427", "20150501", "20150501", 
  "20150501", "20150608", "20150608", "20150608", "20160527", "20160527", 
  "20160527", "20160607", "20160607", "20160607", "20160613", "20160613", 
  "20160613", "20160620", "20160620", "20160620"), r2 = c(0.862283742909527, 
  0.813142444594872, 0.700946018367384, 0.474388980021752, 0.826648311592866, 
  0.794283339648572, 0.79687922855493, 0.808984929407683, 0.781751354268809, 
  0.535951689307516, 0.68524477567256, 0.716321630808227, 0.373141090466726, 
  0.723850452026657, 0.408972539926536, 0.29346057127035, 0.319261073048776, 
  0.319535158994707, 0.872351278607699, 0.871652058666136, 0.509872096326808, 
  0.398605136979609, 0.420745998256184, 0.596082529689281, 0.793035779455997, 
  0.661212720614186, 0.736581215438551, 0.89337362408349, 0.900773593767951, 
  0.916946297262156, 0.700865150846107, 0.839501961957186, 0.863684601286204, 
  0.819367869015135, 0.765192251153536, 0.590744027549224, 0.720092636591613, 
  0.732237645665246, 0.701898569000057, 0.505310296599101, 0.756344530560126, 
  0.522404606955389, 0.631453896947287, 0.732767696833121, 0.669168785479052, 
  0.340080390313005, 0.397681954572616, 0.708286400101956, 0.551718623201008, 
  0.62217661847446, 0.160935876745664, 0.79407487647674, 0.729924604817696, 
  0.716024523586796, 0.526169199415047, 0.702098331814224, 0.748626603557805, 
  0.432690018453805, 0.710646849035047, 0.526049259906931, 0.811336120223548, 
  0.679819505156441, 0.591396577448379, 0.656686513355743, 0.698313842140892, 
  0.718604690738853, 0.768070041705958, 0.453336001102217, 0.544446423520199, 
  0.583336140040845, 0.172961846412558, 0.298155303932666, 0.731010397306203, 
  0.582517045429492, 0.521708072638302, 0.610885761462162, 0.543494236386099, 
  0.630580819311437, 0.642714888852003, 0.736302041771047, 0.736086951074143, 
  0.444437396681972, 0.445336147280364, 0.43829690520584), simyr = c("2013", 
  "2013", "2013", "2013", "2013", "2013", "2013", "2013", "2013", 
  "2013", "2013", "2013", "2013", "2013", "2013", "2013", "2013", 
  "2013", "2014", "2014", "2014", "2014", "2014", "2014", "2014", 
  "2014", "2014", "2014", "2014", "2014", "2014", "2014", "2014", 
  "2014", "2014", "2014", "2014", "2014", "2014", "2014", "2014", 
  "2014", "2014", "2014", "2014", "2014", "2014", "2014", "2015", 
  "2015", "2015", "2015", "2015", "2015", "2015", "2015", "2015", 
  "2015", "2015", "2015", "2015", "2015", "2015", "2015", "2015", 
  "2015", "2015", "2015", "2015", "2015", "2015", "2015", "2016", 
  "2016", "2016", "2016", "2016", "2016", "2016", "2016", "2016", 
  "2016", "2016", "2016"), mdlpreds = structure(c(4L, 2L, 3L, 1L, 
  3L, 2L, 4L, 2L, 3L, 3L, 4L, 2L, 1L, 2L, 3L, 1L, 3L, 3L, 4L, 4L, 
  1L, 1L, 1L, 3L, 2L, 3L, 3L, 4L, 4L, 4L, 2L, 3L, 4L, 2L, 4L, 1L, 
  3L, 3L, 3L, 3L, 2L, 1L, 4L, 2L, 4L, 3L, 1L, 4L, 4L, 4L, 3L, 4L, 
  2L, 2L, 1L, 3L, 3L, 1L, 3L, 2L, 2L, 3L, 3L, 4L, 4L, 3L, 2L, 1L, 
  3L, 2L, 3L, 1L, 2L, 1L, 3L, 1L, 1L, 3L, 2L, 2L, 2L, 1L, 1L, 1L
  ), .Label = c("phv", "phvfsca", "phvaso", "phvasofsca"), class = "factor")), class = "data.frame", .Names = c("mdldte", 
  "simdte", "r2", "simyr", "mdlpreds"), row.names = c(NA, -84L))
  </code></pre>