web-dev-qa-db-fra.com

ggplot geom_bar: signification de aes (groupe = 1)

J'apprends geom_bar sur la section 3.7 de r4ds.had.co.nz. Je lance un code comme ceci:

library(ggplot2)
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, y = ..prop.., group = 1))

Ensuite, j'ai cette intrigue: click here

Le point est, si j'exclue la partie "groupe = 1":

library(ggplot2)
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, y = ..prop..))

L'intrigue se trompera, like this

Mais si je remplace groupe = 1 par groupe = 2 ou groupe = "x", le tracé semble toujours correct. Donc, je ne comprends pas bien le sens de groupe = 1 ici et comment l’utiliser.

18
Novembrain

group="whatever" est un regroupement "factice" destiné à remplacer le comportement par défaut, qui consiste (ici) à grouper par cut et, en général, à grouper à l'aide de la variable x. La valeur par défaut pour geom_bar consiste à grouper en fonction de la variable x afin de compter séparément le nombre de lignes dans chaque niveau de la variable x. Par exemple, ici, la valeur par défaut serait que geom_bar renvoie le nombre de lignes avec cut égal à "Correct", "Bon", etc. 

Cependant, si nous voulons des proportions, alors nous devons considérer tous les niveaux de cut ensemble. Dans le deuxième graphique, les données sont d'abord groupées par cut, de sorte que chaque niveau de cut est considéré séparément. La proportion de Fair in Fair est égale à 100%, tout comme la proportion de Good in Good, etc. group=1 (ou group="x", etc.) l’empêche, de sorte que les proportions de chaque niveau de découpe seront relatives à toutes les versions.

36
eipi10

Group aidera le graphique à examiner les lignes spécifiques contenant la coupe spécifique et la proportion est trouvée par rapport à la base de données entière par rapport à la coupe idéale de l'ensemble de données.

Si le groupe n'est pas utilisé, la proportion est calculée par rapport aux données qui contiennent ce champ et sera finalement de 100% dans tous les cas. Par exemple, la proportion d'une coupe idéale dans les données spécifiques à la coupe idéale sera de 1.

0
tejas lad