Как создать диаграмму с накоплением, где каждый столбец - это отдельная переменная? В R - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь создать барплот с 5 барами, каждый бар, представляющий различную переменную . Каждая переменная является фактором с одинаковым количеством категориальных уровней (4). Я хочу, чтобы они были сложены так, чтобы «заливка» была уровнем (то есть 1, 2, 3 или 4). Каждый бар должен составлять 100%, и каждый уровень стека в пределах бара должен представлять собой пропорцию, равную 100%.

Это моя первая попытка репрекс, так что, надеюсь, это сработает.

df <- structure(list(icap_1 = structure(c(1L, 2L, 2L, 2L, 1L, 2L, 2L, 
2L, 3L, 4L), .Label = c("1", "2", "3", "4"), class = "factor"), 
    icap_2 = structure(c(2L, 1L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 
    2L), .Label = c("1", "2", "3", "4"), class = "factor"), icap_3 = structure(c(3L, 
    2L, 2L, 2L, 2L, 3L, 2L, 2L, 3L, 2L), .Label = c("1", "2", 
    "3", "4"), class = "factor"), icap_4 = structure(c(2L, 2L, 
    2L, 2L, 2L, 3L, 2L, 2L, 3L, 2L), .Label = c("1", "2", "3", 
    "4"), class = "factor"), icap_5 = structure(c(2L, 1L, 2L, 
    2L, 1L, 2L, 1L, 1L, 3L, 2L), .Label = c("1", "2", "3", "4"
    ), class = "factor")), row.names = c(NA, 10L), class = "data.frame")

По сути, это просто для визуализации распределения каждой переменной. Я видел примеры из других программ, но не могу найти пример в Интернете. Любые советы очень ценятся!

1 Ответ

0 голосов
/ 16 октября 2019

Я надеюсь, что я правильно понимаю ваш вопрос.
Вы можете gather переменные вместе, чтобы сделать их легко интерпретируемыми с помощью ggplot.

df %>% gather() %>% ggplot(aes(key, value)) + geom_boxplot()

enter image description here

РЕДАКТИРОВАТЬ в ответ на комментарий:

df %>% gather() %>% ggplot(aes(key, fill = value)) + geom_bar()

Даст вам enter image description here

...