Упорядочение наборов уровней переменной по оси X сгруппированной гистограммы - PullRequest
0 голосов
/ 12 февраля 2020

Я создал сгруппированную гистограмму с помощью ggplot2. Я назвал эту таблицу как «data3», и таблица выглядит так -

Menopausal_Status   Depression_Status     Percent
Peri                      Mild           20.83333
Post                      Mild           68.75000
Pre                       Mild           10.41667
Peri                    Moderate         23.46369
Post                    Moderate         15.08380
Pre                     Moderate         61.45251
Peri              Moderately Severe      26.86567
Post              Moderately Severe      26.86567
Pre               Moderately Severe      46.26866
Peri                      Severe         28.12500
Post                      Severe         37.50000
Pre                       Severe         34.37500

Кодировки приведены ниже -

library(ggplot2)
p1 = ggplot(data3)+ geom_bar (aes (x = Menopausal_Status,
                               y= Percent,
                               fill = Depression_Status),
                               stat = "identity",
                          position = position_dodge(0.8))
p1

Эти кодировки создали этот график.

enter image description here

Итак, я хотел изменить порядок уровней / факторов переменной "Menopausal_Status" на оси x этого графика следующим образом

«Pre», «Peri», «Post»

Я пробовал функцию scale_x_discrete ().

p1 = ggplot(data3)+ geom_bar (aes (x = Menopausal_Status,
                               y= Percent,
                               fill = Depression_Status),
                               stat = "identity",
                          position = position_dodge(0.8))+
scale_x_discrete(limits = c("Pre", "Peri", "Post"))
p1

Но этот график привел к появлению этого предупреждающего сообщения - "Предупреждающее сообщение: удалены 4 строки, содержащие пропущенные значения (geom_bar).

enter image description here

Где я сделал ошибку? Можете ли вы предложить лучший способ переупорядочить уровни переменной на сгруппированном гистограмме?

dput(data3)

Это вывод -

`structure(list(Menopausal_Status = c("Peri", "Post", "Pre ", 
"Peri", "Post", "Pre ", "Peri", "Post", "Pre ", "Peri", "Post", 
"Pre "), Depression_Status = structure(c(1L, 1L, 1L, 2L, 2L, 
2L, 3L, 3L, 3L, 4L, 4L, 4L), .Label = c("Mild", "Moderate", "Moderately 
Severe", 
"Severe"), class = "factor"), Percent = c(20.8333333333333, 68.75, 
10.4166666666667, 23.463687150838, 15.0837988826816, 61.4525139664804, 
26.865671641791, 26.865671641791, 46.2686567164179, 28.125, 37.5, 
34.375)), row.names = c(NA, -12L), class = "data.frame")`
...