Как бы построить гистограмму, показывающую процент в пределах пола для каждого из различных уровней var
ggplot плавления и построение гистограммы
Данные могут быть построены следующим образом:
structure(list(var = structure(c(5L, 5L, 5L, 6L, 5L, 4L, 5L,
6L, 6L, 6L, 5L, 5L, 5L, 6L, 6L, 5L, 6L, 5L, 6L, 5L), .Label = c("-97:\nMultiple\nResponse",
"-99:\nRefused", "1:\nDefinitely", "2:\nProbably", "3:\nProbably\nnot",
"4:\nDefinitely\nnot"), class = "factor"), GENDER = structure(c(1L,
2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 1L,
1L, 2L, 1L), .Label = c("1: Male", "2: Female", "3: Unknown"), class = "factor")), .Names = c("var",
"GENDER"), row.names = c(NA, 20L), class = "data.frame")
I хотите, чтобы бары в пределах gender
на каждый уровень составляли до 100%
Это не работает достаточно хорошо. Первый уровень отсутствует, и каждая из категорий ответов добавляет до 100%. – vashts85
Некоторые из уровней отсутствуют, потому что они отсутствуют в образце предоставленных данных. Что касается баров, суммирующих до 100%, казалось, ваш вопрос требовал, чтобы бары составляли 100% для каждого значения var. Если я неверно истолковал, объясните, как вы хотите группировать данные. – eipi10
На самом деле ваш рабочий процесс работает очень хорошо, мне просто нужна была минута. Как бы немного изменить порядок, чтобы отображались все значения 'var'? Вот то, что я пытался, но не включает некоторые из значений 'var', которые не присутствуют: ggplot (Дат%>% group_by (РОД, вар)%>% Tally%>% мутировать (pct = n/sum (n)), aes (GENDER, pct, fill = var)) + geom_bar (stat = "identity", position = "dodge") + scale_y_continuous (labels = percent_format()) + scale_x_discrete (падение = FALSE) – vashts85