J'ai une parcelle de densité et j'aimerais ajouter des informations sommaires telles que placer une ligne à la médiane et ombrager les intervalles crédibles de 90% (5ème et 95e quantiles). Y a-t-il un moyen de le faire dans ggplot?
C'est le type de parcelle que je voudrais résumer: p>
Je peux comprendre comment dessiner une ligne de la densité Y = 0 à Y = (médiane (x)), mais n'est pas clair pour moi si je peux ombrager l'intrigue avec un CI de 90%. Alternativement, je pourrais ajouter un boxplot horizontal au-dessus de la parcelle de densité, mais il n'est pas clair comment faire pivoter le boxplot par lui-même, sans faire tourner la parcelle de densité avec elle. p> p> p >
3 Réponses :
Vous pouvez utiliser la fonction Geom_Area (). Premièrement, rendez la densité explicite à l'aide de la fonction de densité ().
x <- as.vector(rnorm(10000)) d <- as.data.frame(x=x) library(ggplot2) p <- ggplot(data = d) + theme_bw() + geom_density(aes(x=x, y = ..density..), color = 'black') # new code is below q5 <- quantile(x,.05) q95 <- quantile(x,.95) medx <- median(x) x.dens <- density(x) df.dens <- data.frame(x = x.dens$x, y = x.dens$y) p + geom_area(data = subset(df.dens, x >= q5 & x <= q95), aes(x=x,y=y), fill = 'blue') + geom_vline(xintercept = medx)
@pchalansani merci de me montrer ceci. C'est exactement ce que j'espérais faire ... Maintenant, j'ai juste besoin d'obtenir la ligne médiane là-bas. J'essaie d'utiliser Geom_Vline mais cela ne semble pas fonctionner.
@David je l'ai mis à jour avec la ligne médiane, je ne sais pas pourquoi Geom_Vline ne fonctionnait pas pour vous
@PCHALANANANI Merci de m'aider à avancer avec cela. à l'air cool.
@PCHALANANSANI Merci pour la mise à jour, mais j'ai la peine que Geom_Vline place la ligne à X = 0 au lieu de la médiane. Si vous transformez X, x <- x + 10 code>, vous verrez que la densité se déplace mais la ligne ne ...
@David J'ai regardé la page d'aide Geom_Vline, et il semble que vous ayez besoin d'utiliser xintercept ... cela fonctionne, j'ai corrigé le code ... HAD.CO.NZ/GGPLOT2/GEOM_VLINE.HTML
@pchalansani merci! J'ai mal interprété cela et pensé que cela a dit «interception»
Ceci (aussi) la ligne verticale à la médiane:
Je voulais ajouter à la réponse de @prasad Chalasani pour ceux qui comme moi qui sont venus à ajouter les 3 zones STD. 1 STD est la teinte la plus sombre, 2 std est la nuance du milieu et 3 std est la teinte la plus légère. La moyenne est la ligne noire et la médiane est la ligne blanche.