J'essaie de tracer la proportion de diamants en utilisant geom_bar
et position = "dodge"
. Voici ce que j'ai fait.ggplot2: tracer des proportions correctes en utilisant geom_bar
library(ggplot2)
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut))
L'image ci-dessous me dire combien de diamants sont là pour chaque type cut
.
Maintenant, nous allons faire quelque chose de fantaisie.
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, fill = clarity), position = "dodge")
L'image ci-dessous fournit le nombre de diamants en regroupant par clarity
pour chaque type cut
.
Ce que je voudrais faire est d'obtenir la même parcelle esquive comme ci-dessus, mais au lieu de montrer la proportion comte. Par exemple, pour cut=ideal
et clarity = VS2
, la proportion doit être 5071/21551 = 0.23
.
Pas besoin d'une colonne supplémentaire: 'ggplot (data = diamants) + geom_bar (mapping = aes (x = cut, y = ..count .. /sum(..count ..), fill = clear), position = "dodge") ' –
@MauritsEvers Cela ne donne pas le résultat désiré (par exemple, exécutez-le et regardez la valeur de' cut = ideal' et 'clarté = VS2' - ce n'est pas 0,23). – Lyngbakr
@Lyngbakr Ah oui, vous avez raison! OP veut des fractions * per (cut) group *. Ma solution donne des fractions de total. Dans ce cas, je calculerais les fractions par groupe manuellement, et tracerai avec 'geom_bar (stat =" identity ", ...)' comme @Wimpel suggéré. –