我有一个密度图,我想添加一些摘要信息,例如在中位数处放置一条线并为90%的可信区间(第5个和第95个分位数)加阴影。有没有办法在ggplot中做到这一点?
我想总结一下这种情节的类型:
我可以弄清楚如何从y = 0到y =密度(median(x))画一条线,但是我不清楚是否可以使用90%CI遮盖该图。或者,我可以在密度图上方添加一个水平箱线图,但是不清楚如何单独旋转箱线图,而不随其一起旋转密度图。
x <- as.vector(rnorm(10000))
d <- as.data.frame(x=x)
library(ggplot2)
ggplot(data = d) + theme_bw() +
geom_density(aes(x=x, y = ..density..), color = 'black')
最佳答案
您可以使用geom_area()函数。首先使用density()函数使密度明确。
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)
关于r - 向使用ggplot创建的密度图添加摘要信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4542438/