Я пытаюсь создать расходящуюся гистограмму с накоплением, как описано в эта статья
Мои данные здесь, три столбца. variable - это тег для заданного вопроса. value - это ответ по шкале Лайкерта. n - это счет, уже сделанный положительным или отрицательным, в зависимости от того, на какой стороне шкалы он должен находиться. У меня есть две нейтральные категории, чтобы нейтральный был центрирован около 0.
final = structure(list(variable = c("Optimism", "Optimism", "Optimism",
"Market Insight", "Market Insight", "Market Insight", "Market Insight",
"Courage", "Courage", "Courage", "Courage", "Adaptability", "Adaptability",
"Adaptability", "Adaptability", "Bias for Action", "Bias for Action",
"Bias for Action", "Optimism", "Optimism", "Market Insight",
"Market Insight", "Courage", "Courage", "Adaptability", "Adaptability",
"Bias for Action", "Bias for Action"), value = structure(c(6L,
5L, 1L, 6L, 5L, 1L, 2L, 6L, 5L, 1L, 2L, 6L, 5L, 1L, 2L, 6L, 5L,
1L, 4L, 3L, 4L, 3L, 4L, 3L, 4L, 3L, 4L, 3L), .Label = c("Strongly Disagree",
"Disagree", "Disagree Neutral", "Agree Neutral", "Agree", "Strongly Agree"
), class = c("ordered", "factor")), n = c(36, 110, -1, 22, 84,
-1, -3, 35, 107, -1, -3, 53, 103, -1, -2, 42, 100, -1, 15, -14,
30, -29, 16, -15, 10, -10, 16, -16)), .Names = c("variable",
"value", "n"), row.names = c(NA, -28L), class = "data.frame")
Обратите внимание, что value уже является упорядоченным фактором, порядок правильный, переход от «Полностью не согласен» к «Полностью согласен».
class(final$value)
#> [1] "ordered" "factor"
levels(final$value)
#> [1] "Strongly Disagree" "Disagree" "Disagree Neutral" "Agree Neutral"
#> [5] "Agree" "Strongly Agree"
Я делаю ggplot как таковой
ggplot(data = final, aes(y = n, x = variable, fill = value)) +
geom_col() +
coord_flip() +
scale_fill_manual(values = c("Strongly Disagree" = "#CA0020",
"Disagree" = "#F4A582",
"Disagree Neutral" = "#C0C0C0",
"Agree Neutral" = "#C0C0C0",
"Agree" = "#92C5DE",
"Strongly Agree" = "#0571B0"))
На сгенерированном графике легенда отсортирована правильно, негативы отсортированы правильно, а положительные - в неправильном порядке. Что вызывает несоответствие в порядке сортировки и как это исправить?






Это исправило это. Это было ... странно сложно.