Comment pourrais-je tracer un graphique à barres montrant le pourcentage, par sexe et pour chacun des différents niveaux de var
fusion ggplot et le tracé de graphique à barres
Les données peuvent être construites comme suit:
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 voulez que les barres dans gender
totalisent chacune jusqu'à 100%
Cela ne fonctionne pas très bien. Le premier niveau est manquant et chacune des catégories de réponse est additionnée à 100%. – vashts85
Certains niveaux sont manquants car ils ne sont pas présents dans l'échantillon de données que vous avez fourni. En ce qui concerne les barres totalisant 100%, il semblait que votre question demandait que les barres totalisent 100% pour chaque valeur de var. Si j'ai mal interprété, veuillez expliquer comment vous voulez regrouper les données. – eipi10
En fait, votre flux de travail fonctionne très bien, il m'a juste fallu une minute. Comment changer un peu l'ordre pour que toutes les valeurs de 'var' soient affichées? Voici ce que j'ai essayé, mais il omet d'accomplir certaines des valeurs de 'var' qui ne sont pas présents: ggplot (dat%>% group_by (GENRE, var)%>% % tally>% muter (pct = n/somme (n)), aes (GENRE, pct, remplir = var)) + geom_bar (stat = "identité", position = "esquive") + scale_y_continuous (labels = percent_format()) + scale_x_discrete (drop = FALSE) – vashts85