normalisé un histogramme

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Marianne Robert
Messages : 108
Enregistré le : 21 Juil 2008, 07:38

normalisé un histogramme

Messagepar Marianne Robert » 12 Nov 2012, 17:12

Bonjour a tous,

je cherche l'argument de la fonction hist qui me permet de normaliser l'axe des Y sur un histogramme afin de pouvoir mieux comparer plusieurs histogrammes

Code : Tout sélectionner

> DA$X.2
[1] 0.65028406 0.56807132 0.47727856 0.09828587 0.31591113 0.10483584 0.39988327

# ....

windows()
par(mfrow=c(1,3))
hist(DA$X.2, breaks=seq(0,1,by=0.1),  main="", xlab="")
legend("topleft","a",cex=1.2,bty="n")
hist( DE$X.2, breaks=seq(0,1,by=0.1), xlab="Poportion of total biomass under one FAD", main="")
legend("topleft","b",cex=1.2,bty="n")
hist( DD$X.2, breaks=seq(0,1,by=0.1), main="", xlab="")
legend("topleft","c",cex=1.2,bty="n")




ces histogrammes donnent sur l axe des Y le nombre de donnée dans chaque classe des X (qui va de 0 a 1 par tranche de 0.1).

Ce que je souhaiterai c est avoir la proportion sur l axe des Y, par exemple j ai un total de 10 données plotée sur mon histo et 1 seule valeur dans la classe 0-0.1, je souhaite donc avoir 0.1 en coordonnées de Y. et ainsi de suite (la somme de l'axe des y faisant donc 1).

J ai essayé plusieurs choses, density et autres mais ca ne fonctionne pas


en vous remerciant par avance pour votre aide.

>°))))))<<

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 13 Nov 2012, 07:19

Avec l'option freq = FALSE, la somme de la surface des barres est de 1 (estimation de la densité de probabilité):

Code : Tout sélectionner

x <- runif(100)
hist(x, breaks = seq(0, 1, by = 0.1), freq = FALSE)


Si vous voulez que la somme des y = 1, il faut utiliser barplot:

Code : Tout sélectionner

h <- hist(x, breaks = seq(0, 1, by = 0.1), plot = FALSE)
f <- h$counts / sum(h$counts)
par(xaxs = "i", las = 1)
barplot(f, space = 0)
xlim <- par("usr")[1:2]
axis(1, at = seq(xlim[1], xlim[2], length = 11), labels = seq(0, 1, .1))
Renaud

Marianne Robert
Messages : 108
Enregistré le : 21 Juil 2008, 07:38

Messagepar Marianne Robert » 13 Nov 2012, 16:19

merci bc


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité