title: R can't map to ggplot and use facet wrap at the same time
body: <p>Here is a section of my original data frame which is survey data.</p>
  <pre><code>structure(list(Ages = c(30L, 30L, 30L, 30L, 30L, 33L, 33L, 27L, 
  27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 
  27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 
  27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 
  27L, 27L, 27L, 27L, 28L, 28L, 25L, 25L, 25L, 25L, 25L, 25L, 25L, 
  25L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 
  29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 38L, 
  38L, 38L, NA, NA, NA, NA, 31L, 31L, 31L, 31L, 31L, 31L, 33L, 
  33L, 33L, 33L, 33L, 33L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 
  29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 
  29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 
  29L, 29L, 34L, 34L, 34L, 34L, 34L, 34L, 34L, 34L, 34L, 34L, 34L, 
  34L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 
  27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 36L, 36L, 
  36L, 36L, 28L, 28L, 28L, 28L, 28L, 28L, 28L, 28L, 28L, 28L, 32L, 
  32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 
  32L, 32L, 32L, 32L, 32L, 32L, 28L, 28L, 28L, 28L, 27L, 27L, 27L, 
  27L, 27L, 27L, 27L, 27L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 
  32L, 30L, 30L, 30L, 30L, 26L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 
  27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L), value = c(&quot;Response Eight&quot;, 
  &quot;Response Twelve&quot;, &quot;Response Eleven&quot;, &quot;Response Three&quot;, &quot;Response Two&quot;, 
  &quot;Response Seven&quot;, &quot;Response Seven&quot;, &quot;Response Eight&quot;, &quot;Response Nine&quot;, 
  &quot;Response Twelve&quot;, &quot;Response Eleven&quot;, &quot;Response Three&quot;, &quot;Response Ten&quot;, 
  &quot;Response Two&quot;, &quot;Response One&quot;, &quot;Response Four&quot;, &quot;Response Five&quot;, 
  &quot;Response Six&quot;, &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Twelve&quot;, 
  &quot;Response Eleven&quot;, &quot;Response Three&quot;, &quot;Response Ten&quot;, &quot;Response Two&quot;, 
  &quot;Response One&quot;, &quot;Response Four&quot;, &quot;Response Five&quot;, &quot;Response Six&quot;, 
  &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Twelve&quot;, &quot;Response Eleven&quot;, 
  &quot;Response Three&quot;, &quot;Response Ten&quot;, &quot;Response Two&quot;, &quot;Response One&quot;, 
  &quot;Response Four&quot;, &quot;Response Five&quot;, &quot;Response Six&quot;, &quot;Response Eight&quot;, 
  &quot;Response Nine&quot;, &quot;Response Twelve&quot;, &quot;Response Eleven&quot;, &quot;Response Three&quot;, 
  &quot;Response Ten&quot;, &quot;Response Two&quot;, &quot;Response One&quot;, &quot;Response Four&quot;, 
  &quot;Response Five&quot;, &quot;Response Six&quot;, &quot;Response Seven&quot;, &quot;Response Seven&quot;, 
  &quot;Response Three&quot;, &quot;Response One&quot;, &quot;Response Three&quot;, &quot;Response One&quot;, 
  &quot;Response Three&quot;, &quot;Response One&quot;, &quot;Response Three&quot;, &quot;Response One&quot;, 
  &quot;Response Twelve&quot;, &quot;Response Three&quot;, &quot;Response Twelve&quot;, &quot;Response Three&quot;, 
  &quot;Response Twelve&quot;, &quot;Response Three&quot;, &quot;Response Twelve&quot;, &quot;Response Three&quot;, 
  &quot;Response Twelve&quot;, &quot;Response Three&quot;, &quot;Response Twelve&quot;, &quot;Response Three&quot;, 
  &quot;Response Twelve&quot;, &quot;Response Three&quot;, &quot;Response Twelve&quot;, &quot;Response Three&quot;, 
  &quot;Response Twelve&quot;, &quot;Response Three&quot;, &quot;Response Twelve&quot;, &quot;Response Three&quot;, 
  &quot;Response Twelve&quot;, &quot;Response Three&quot;, &quot;Response Twelve&quot;, &quot;Response Three&quot;, 
  &quot;Response Seven&quot;, &quot;Response Seven&quot;, &quot;Response Seven&quot;, &quot;Response Eight&quot;, 
  &quot;Response Three&quot;, &quot;Response Two&quot;, &quot;Response One&quot;, &quot;Response Ten&quot;, 
  &quot;Response Two&quot;, &quot;Response Ten&quot;, &quot;Response Two&quot;, &quot;Response Ten&quot;, 
  &quot;Response Two&quot;, &quot;Response Three&quot;, &quot;Response One&quot;, &quot;Response Three&quot;, 
  &quot;Response One&quot;, &quot;Response Three&quot;, &quot;Response One&quot;, &quot;Response Eight&quot;, 
  &quot;Response Nine&quot;, &quot;Response Three&quot;, &quot;Response Ten&quot;, &quot;Response Two&quot;, 
  &quot;Response One&quot;, &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Three&quot;, 
  &quot;Response Ten&quot;, &quot;Response Two&quot;, &quot;Response One&quot;, &quot;Response Eight&quot;, 
  &quot;Response Nine&quot;, &quot;Response Three&quot;, &quot;Response Ten&quot;, &quot;Response Two&quot;, 
  &quot;Response One&quot;, &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Three&quot;, 
  &quot;Response Ten&quot;, &quot;Response Two&quot;, &quot;Response One&quot;, &quot;Response Eight&quot;, 
  &quot;Response Nine&quot;, &quot;Response Three&quot;, &quot;Response Ten&quot;, &quot;Response Two&quot;, 
  &quot;Response One&quot;, &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Three&quot;, 
  &quot;Response Ten&quot;, &quot;Response Two&quot;, &quot;Response One&quot;, &quot;Response Eight&quot;, 
  &quot;Response Three&quot;, &quot;Response Ten&quot;, &quot;Response Eight&quot;, &quot;Response Three&quot;, 
  &quot;Response Ten&quot;, &quot;Response Eight&quot;, &quot;Response Three&quot;, &quot;Response Ten&quot;, 
  &quot;Response Eight&quot;, &quot;Response Three&quot;, &quot;Response Ten&quot;, &quot;Response Eight&quot;, 
  &quot;Response Nine&quot;, &quot;Response Three&quot;, &quot;Response Two&quot;, &quot;Response Six&quot;, 
  &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Three&quot;, &quot;Response Two&quot;, 
  &quot;Response Six&quot;, &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Three&quot;, 
  &quot;Response Two&quot;, &quot;Response Six&quot;, &quot;Response Twelve&quot;, &quot;Response One&quot;, 
  &quot;Response Twelve&quot;, &quot;Response One&quot;, &quot;Response Twelve&quot;, &quot;Response One&quot;, 
  &quot;Response Twelve&quot;, &quot;Response One&quot;, &quot;Response Seven&quot;, &quot;Response Seven&quot;, 
  &quot;Response Seven&quot;, &quot;Response Seven&quot;, &quot;Response Eight&quot;, &quot;Response Nine&quot;, 
  &quot;Response Twelve&quot;, &quot;Response Eleven&quot;, &quot;Response Ten&quot;, &quot;Response Two&quot;, 
  &quot;Response One&quot;, &quot;Response Four&quot;, &quot;Response Five&quot;, &quot;Response Six&quot;, 
  &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Ten&quot;, &quot;Response One&quot;, 
  &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Ten&quot;, &quot;Response One&quot;, 
  &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Ten&quot;, &quot;Response One&quot;, 
  &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Ten&quot;, &quot;Response One&quot;, 
  &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Ten&quot;, &quot;Response One&quot;, 
  &quot;Response Seven&quot;, &quot;Response Seven&quot;, &quot;Response Seven&quot;, &quot;Response Seven&quot;, 
  &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Twelve&quot;, &quot;Response Ten&quot;, 
  &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Twelve&quot;, &quot;Response Ten&quot;, 
  &quot;Response Eight&quot;, &quot;Response Three&quot;, &quot;Response Ten&quot;, &quot;Response Eight&quot;, 
  &quot;Response Three&quot;, &quot;Response Ten&quot;, &quot;Response Eight&quot;, &quot;Response Three&quot;, 
  &quot;Response Ten&quot;, &quot;Response One&quot;, &quot;Response One&quot;, &quot;Response One&quot;, 
  &quot;Response One&quot;, &quot;Response Seven&quot;, &quot;Response Eight&quot;, &quot;Response Twelve&quot;, 
  &quot;Response Ten&quot;, &quot;Response Eight&quot;, &quot;Response Twelve&quot;, &quot;Response Ten&quot;, 
  &quot;Response Eight&quot;, &quot;Response Twelve&quot;, &quot;Response Ten&quot;, &quot;Response Eight&quot;, 
  &quot;Response Twelve&quot;, &quot;Response Ten&quot;, &quot;Response Eight&quot;, &quot;Response Twelve&quot;, 
  &quot;Response Ten&quot;), n = c(3210L, 4658L, 1271L, 4453L, 2834L, 2526L, 
  2526L, 3210L, 4098L, 4658L, 1271L, 4453L, 2975L, 2834L, 3833L, 
  916L, 1221L, 1208L, 3210L, 4098L, 4658L, 1271L, 4453L, 2975L, 
  2834L, 3833L, 916L, 1221L, 1208L, 3210L, 4098L, 4658L, 1271L, 
  4453L, 2975L, 2834L, 3833L, 916L, 1221L, 1208L, 3210L, 4098L, 
  4658L, 1271L, 4453L, 2975L, 2834L, 3833L, 916L, 1221L, 1208L, 
  2526L, 2526L, 4453L, 3833L, 4453L, 3833L, 4453L, 3833L, 4453L, 
  3833L, 4658L, 4453L, 4658L, 4453L, 4658L, 4453L, 4658L, 4453L, 
  4658L, 4453L, 4658L, 4453L, 4658L, 4453L, 4658L, 4453L, 4658L, 
  4453L, 4658L, 4453L, 4658L, 4453L, 4658L, 4453L, 2526L, 2526L, 
  2526L, 3210L, 4453L, 2834L, 3833L, 2975L, 2834L, 2975L, 2834L, 
  2975L, 2834L, 4453L, 3833L, 4453L, 3833L, 4453L, 3833L, 3210L, 
  4098L, 4453L, 2975L, 2834L, 3833L, 3210L, 4098L, 4453L, 2975L, 
  2834L, 3833L, 3210L, 4098L, 4453L, 2975L, 2834L, 3833L, 3210L, 
  4098L, 4453L, 2975L, 2834L, 3833L, 3210L, 4098L, 4453L, 2975L, 
  2834L, 3833L, 3210L, 4098L, 4453L, 2975L, 2834L, 3833L, 3210L, 
  4453L, 2975L, 3210L, 4453L, 2975L, 3210L, 4453L, 2975L, 3210L, 
  4453L, 2975L, 3210L, 4098L, 4453L, 2834L, 1208L, 3210L, 4098L, 
  4453L, 2834L, 1208L, 3210L, 4098L, 4453L, 2834L, 1208L, 4658L, 
  3833L, 4658L, 3833L, 4658L, 3833L, 4658L, 3833L, 2526L, 2526L, 
  2526L, 2526L, 3210L, 4098L, 4658L, 1271L, 2975L, 2834L, 3833L, 
  916L, 1221L, 1208L, 3210L, 4098L, 2975L, 3833L, 3210L, 4098L, 
  2975L, 3833L, 3210L, 4098L, 2975L, 3833L, 3210L, 4098L, 2975L, 
  3833L, 3210L, 4098L, 2975L, 3833L, 2526L, 2526L, 2526L, 2526L, 
  3210L, 4098L, 4658L, 2975L, 3210L, 4098L, 4658L, 2975L, 3210L, 
  4453L, 2975L, 3210L, 4453L, 2975L, 3210L, 4453L, 2975L, 3833L, 
  3833L, 3833L, 3833L, 2526L, 3210L, 4658L, 2975L, 3210L, 4658L, 
  2975L, 3210L, 4658L, 2975L, 3210L, 4658L, 2975L, 3210L, 4658L, 
  2975L)), row.names = c(NA, -250L), class = c(&quot;tbl_df&quot;, &quot;tbl&quot;, 
  &quot;data.frame&quot;))
  </code></pre>
  <p>I then create a new data frame that is a bootstrapped confidence interval for median age of each value/response in the original data frame. I use the infer package to create the ci. Here is the code and the dput for the data frame.</p>
  <pre><code>bootstrapped_ci_df &lt;- data_frame_responses %&gt;% 
    split(.$value) %&gt;% 
    map_df(~.x %&gt;% 
    specify(response = Ages) %&gt;%
    generate(reps = 1000, type = 'bootstrap') %&gt;%
    calculate(stat = 'median') %&gt;%
    get_ci(level = 0.99999), .id = 'value')
  
  structure(list(value = c(&quot;Response One&quot;, &quot;Response Two&quot;, &quot;Response Three&quot;, 
  &quot;Response Four&quot;, &quot;Response Five&quot;, &quot;Response Six&quot;, &quot;Response Seven&quot;, 
  &quot;Response Eight&quot;, &quot;Response Nine&quot;, &quot;Response Ten&quot;, &quot;Response Eleven&quot;, 
  &quot;Response Twelve&quot;), lower_ci = c(28.5, 28, 29, 28, 30, 29, 31, 
  29, 28, 29, 28, 28), upper_ci = c(29, 29, 30, 29, 30.995005, 
  30, 31.5, 30, 29, 30, 29, 29)), row.names = c(NA, -12L), class = c(&quot;tbl_df&quot;, 
  &quot;tbl&quot;, &quot;data.frame&quot;))
  </code></pre>
  <p>The trouble is when I go to graph this with ggplot2.</p>
  <p>In the first case I can create a graph that looks good. I put the values with the most responses on the bottom.</p>
  <pre><code>ggplot(data_frame_responses, aes(x = Ages, fill = fct_reorder(value, n))) + 
    geom_histogram() +
    facet_wrap(~ fct_reorder(value, n)) +
    theme(legend.position=&quot;none&quot;) +
    labs(title = &quot;Title&quot;) +
    labs(subtitle = &quot;Subtitle&quot;) +
    theme(plot.title = element_text(hjust = 0.5, face = &quot;bold&quot;)) +
    theme(plot.subtitle = element_text(hjust = 0.5)) 
  </code></pre>
  <p><a href="https://i.stack.imgur.com/Jq3j8.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Jq3j8.png" alt="enter image description here" /></a></p>
  <p>I can also map the confidence intervals on the data frame and that looks good, too.</p>
  <pre><code>ggplot(data_frame_responses, aes(x = Ages, fill = value)) + 
    geom_histogram() +
    facet_wrap(~value) +
    theme(legend.position=&quot;none&quot;) +
    labs(title = &quot;Title&quot;) +
    labs(subtitle = &quot;Subtitle&quot;) +
    geom_vline(mapping = aes(xintercept = lower_ci), bootstrapped_ci_df, linetype = 'dashed') +
    geom_vline(mapping = aes(xintercept = upper_ci), bootstrapped_ci_df, linetype = 'dashed') +
    labs(caption = &quot;dashed lines = bootstrapped confidence interval for median&quot;) +
    theme(plot.title = element_text(hjust = 0.5, face = &quot;bold&quot;)) +
    theme(plot.subtitle = element_text(hjust = 0.5)) 
  </code></pre>
  <p><a href="https://i.stack.imgur.com/1qYJU.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/1qYJU.png" alt="enter image description here" /></a></p>
  <p>The trouble is, I can't figure out how to do both. How can I reorder the data frame with the facets and also keep the mapping in tact? Here is my try and you can see how it went wrong.</p>
  <pre><code>ggplot(data_frame_responses, aes(x = Ages, fill = value)) + 
    geom_histogram() +
    facet_wrap(~ fct_reorder(value, n)) + 
    theme(legend.position=&quot;none&quot;) +
    labs(title = &quot;Title&quot;) +
    labs(subtitle = &quot;Subtitle&quot;) +
    geom_vline(mapping = aes(xintercept = lower_ci), bootstrapped_ci_df, linetype = 'dashed') +
    geom_vline(mapping = aes(xintercept = upper_ci), bootstrapped_ci_df, linetype = 'dashed') +
    labs(caption = &quot;dashed lines = bootstrapped confidence interval for median&quot;) +
    theme(plot.title = element_text(hjust = 0.5, face = &quot;bold&quot;)) +
    theme(plot.subtitle = element_text(hjust = 0.5)) 
  </code></pre>
  <p><a href="https://i.stack.imgur.com/rUbzc.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/rUbzc.png" alt="enter image description here" /></a></p>