Упорядочивание столбчатой диаграммы с накоплением в R

#r #ggplot2

#r #ggplot2

Вопрос:

Я возился с столбчатой диаграммой с накоплением, которую я не могу отсортировать от самой высокой до самой короткой. Вот диаграмма, которая у меня есть в настоящее время.

столбчатая диаграмма с накоплением

df7.csv

Код, который я использую, приведен ниже:

 ggplot(df7, aes(
  x = reorder(cause, failures) ,
  y = failures,
  fill = factor(
    part_number,
    levels = c(
      "UNKNOWN",
      "3766453",
      "20R7920",
      "3966006",
      "3976397",
      "20R7916",
      "20R7915"
    )
  )
))  
  geom_bar(
    position = "stack",
    stat = "identity",
    width = 0.7,
    alpha = 0.75,
    color = 'black'
  )  
  theme_minimal()  
  xlab('')  
  ylab('Failures')  
  labs(fill = "Part Number")  
  scale_fill_brewer(palette = "Dark2")  
  coord_flip()  

Кто-нибудь понимает, почему диаграмма сортируется неправильно? Спасибо и приветствия!

Комментарии:

1. Пожалуйста, добавьте df7 или пример его, dput(df7) чтобы воспроизвести вашу проблему!

2. Я добавил ссылку на набор данных df7.

3. По умолчанию reorder используется FUN=mean . Попробуйте reorder(cause, failures, FUN=sum)

Ответ №1:

reorder является общей функцией для переупорядочения факторов. По умолчанию он переупорядочивает по среднему значению. По умолчанию reorder используется функция ‘mean’ ( FUN = mean по умолчанию) для изменения порядка коэффициентов. Установка аргумента FUN sum в значение reorder приведет к сортировке столбцов с накоплением по общей сумме компонентов для каждого столбца.

Раздел кода «Изменить порядок» должен быть заменен следующим:

 reorder(cause, failures, FUN=sum)
  

Комментарии:

1. Добро пожаловать в Stackoverflow, ваш ответ может быть полезен для OP, но вы можете улучшить его, объяснив вещи.

2. Спасибо за обратную связь. Я добавляю больше информации к решению. Приветствия!