Graph con barras ordenadas y usando facetas

Estoy tratando de hacer un gráfico con barras ordenadas de acuerdo con la frecuencia y también usando una variable, dos variables separadas usando facetas. @ Las palabras deben ordenarse por el valor dado en la variable 'n'. Entonces, mi gráfico debería verse comoést que aparece en el libro tidytext:

Mi gráfico a continuación,words no están ordenadas por valor, ¿cuál es mi error ?:Mis datos se parecen a los del ejemplo:

> d
# A tibble: 20 x 3
   word    u_c            n
   <chr>   <chr>      <dbl>
 1 apples  candidate 0.567 
 2 apples  user      0.274 
 3 melon   user      0.191 
 4 curcuma candidate 0.105 
 5 banana  user      0.0914
 6 kiwi    candidate 0.0565
 ...

Siguiendo el código provisto en el libro y modificándolo de acuerdo con mis datos, el código se ve así:

d %>% 
  mutate(word = reorder(word, n)) %>%
  ggplot(aes(word, n, fill = u_c)) + 
  geom_col(show.legend = F) +
  facet_wrap(~u_c, scales = "free_y") +
  coord_flip()

Aquí está eldput parad:

d <- structure(list(word = c("apples", "apples", "melon", "curcuma", 
                             "banana", "kiwi", "grape", "curcuma", "grape", 
                             "wood", "satsuma", "melon", "raisin", "papaya", "plum", 
                             "plum", "papaya", "banana", "satsuma", "peach"), u_c = c("candidate", 
                                                                                      "user", "user", "candidate", "user", "candidate", "user", "user", 
                                                                                      "candidate", "user", "user", "candidate", "user", "candidate", 
                                                                                      "candidate", "user", "user", "candidate", "candidate", "candidate"
                             ), n = c(0.56704584625991, 0.273789875549109, 0.190633674260422, 
                                         0.105308514305412, 0.0914084706627656, 0.0565322302654257, 0.0562029558128485, 
                                         0.0547338017954938, 0.0498104102033781, 0.0439600056682254, 0.0393399851625864, 
                                         0.0380903136849362, 0.0370685271783074, 0.0370561875215443, 0.035849706997587, 
                                         0.0352763676677753, 0.0325506180866405, 0.0206825232678387, 0.0198207514650121, 
                                         0.0113753877973113)), class = c("tbl_df", "tbl", "data.frame"
                                         ), row.names = c(NA, -20L))

Respuestas a la pregunta(2)

Su respuesta a la pregunta