HISTOGRAMME
Création d’un jeu de données
[Link](10101)
pf<-rnorm(50,65,4) # on génère le poids de 50 femmes #
ph<-rnorm(40,75,3.5) # on génère le poids de 40 hommes #
poids<-c(pf,ph) # regroupement des poids #
sexe<-c(rep("F",50),rep("H",40)) # 50 femmes et 40 hommes #
don<-[Link](poids,sexe) # regroupement des données dans un tableau
nommé don #
head(don,5) # affichage des 5 premières lignes du tableau #
poids sexe
1 61.49293 F
2 62.01444 F
3 70.50366 F
4 65.95033 F
5 65.43451 F
Représentation graphique des données
par(mfrow=c(1,2)) # partage de l'écran graphique en 2 colonnes #
Représentation graphique de la distribution du poids des femmes :
histoF<-hist(don$poids[don$sexe=="F"], # on sélectionne le poids des
femmes #
col="grey",
border="pink",
ylim=c(0,20),
xlab="Poids en kg", # légende de l’axe des abscisses #
ylab="",
yaxt="n", # on n’affiche pas l’axe des ordonnées #
labels=TRUE, # on affiche les effectifs de chaque classe #
main=paste("Répartition du Poids des",sum(don$sexe=="F"),"femmes")) #
titre #
Représentation graphique de la distribution du poids des hommes :
histoH<-
hist(don$poids[don$sexe=="H"],col="grey",border="blue",ylim=c(0,20),xl
ab="Poids en kg",ylab="",yaxt="n",labels=TRUE,
main=paste("Répartition du Poids des",sum(don$sexe=="H"),"hommes"))
Répartition du Poids des 50 femmes Répartition du Poids des 40 hommes
13
11
10
9
7
6 6 6
3 3 3 3 3
2 2 2
1
55 60 65 70 68 70 72 74 76 78 80 82
Poids en kg Poids en kg
Construction des 2 histogrammes côte à côte
par(mfrow=c(1,1)) # on revient à un écran graphique classique #
hist(don$poids[don$sexe=="F"],ylim=c(0,20),xlab="Poids en kg",ylab="
",col="pink",xlim=c(50,95),main="Répartition des poids",labels=T, yaxt
= "n") # construction de l’histogramme pour les femmes #
hist(don$poids[don$sexe=="H"],col=rgb(0,0,1,alpha=0.5),labels=T,add=T)
# on ajoute l’histogramme des hommes #
legend("top",title="sexe",c("Femme","Homme"),fill=c("pink","blue")) #
ajout d’une légende #
Construction des histogrammes avec le package ggplot2
On construit un [Link] qui comporte deux colonnes. La première
colonne contient le poids et la deuxième colonne contient le genre.
[Link](10101)
pf<-rnorm(50,65,4)
ph<-rnorm(40,75,3.5)
poids<-c(pf,ph)
sexe<-factor(c(rep("F",50),rep("H",40)))
don<-[Link](poids,sexe)
summary(don)
poids sexe
Min. :55.62 F:50
1st Qu.:65.10 H:40
Median :69.85
Mean :69.11
3rd Qu.:73.03
Max. :80.92
library(ggplot2)
library(hrbrthemes)
ggplot(don)+aes(x=poids, y = ..count..,fill=sexe) +
geom_histogram(color="brown", alpha=0.4,bins=10,position = 'identity')
+
scale_fill_manual(values=c("pink","blue")) +
labs(fill="genre",title="Distribution des poids",x="Poids en
kg",y="Effectif")+
theme_ipsum()
Construction de deux histogrammes en « miroir »
library(ggplot2)
library(hrbrthemes)
On construit un [Link] qui comporte deux colonnes. La première
colonne contient le poids des femmes et la deuxième colonne contient le
poids des hommes.
don<-[Link](poids.F=pf,poids.H=c(ph,rep(NA,10)))
summary(don)
poids.F poids.H
Min. :55.62 Min. :69.29
1st Qu.:62.29 1st Qu.:71.89
Median :65.21 Median :73.39
Mean :65.15 Mean :74.06
3rd Qu.:68.00 3rd Qu.:75.66
Max. :72.94 Max. :80.92
NA's :10
ggplot(don)+aes(x=poids.F,y = ..density..)+
geom_histogram(fill="pink",bins=10)+
geom_label(aes(x=57, y=0.10, label="Poids des femmes en kg"),
color="pink")+
xlab("Poids en kg")+
geom_histogram(aes(x = poids.H, y = -..density..), fill= "blue",bins=7)+
geom_label(aes(x=57, y=-0.07, label="Poids des hommes en kg"),
color="blue")+
theme_ipsum()
density
0.10 Poids des femmes en kg
0.05
0.00
-0.05
Poids des hommes en kg
-0.10
60 70 80
Poids en kg