我经常使用核密度图来说明分布.这些在R中创建简单快捷,如下所示:
set.seed(1)
draws <- rnorm(100)^2
dens <- density(draws)
plot(dens)
#or in one line like this: plot(density(rnorm(100)^2))
Run Code Online (Sandbox Code Playgroud)
这给了我这个漂亮的小PDF:
我想将PDF下面的区域从第75百分位到第95百分位.使用quantile函数计算点很容易:
q75 <- quantile(draws, .75)
q95 <- quantile(draws, .95)
Run Code Online (Sandbox Code Playgroud)
但是我如何遮蔽q75和之间的区域q95?
我正在使用ggplot来显示数据的百分位数.我使用以下代码,
data <- seq(from=0,to=30,length.out=1000)
q <- quantile(data)
ggplot()+
geom_density(aes(x=data)) +
annotate(geom="text", x=q, y=0, label=names(q)) +
theme(text = element_text(size=10)) +
geom_vline(x=q, linetype = "longdash")
Run Code Online (Sandbox Code Playgroud)
以下是我得到的图表,
我希望为每个细分填充不同的颜色.即一种颜色为0-25%,另一种颜色为25-50%.有可能吗?
垂直线也贯穿整个图形.我想阻止它直到曲线.而不是完全贯穿它.
谁能帮助我做这两件事?