使用ggplot为不同时间点的多个组绘制多个密度内核(面积= 1)

时间:2019-02-14 23:07:53

标签: r ggplot2 area kernel-density

我正在尝试绘制(在单个图形中)两个不同时间点的两个内核密度(基于具有不同样本量的两个样本)。

不幸的是,我无法使曲线下的面积等于1,以使密度可比(例如,请参见下图时间1)。

下面是我的代码示例和相应的图形:

SELECT ... FROM Sample s order by Random2(s.Id) asc;

example

1 个答案:

答案 0 :(得分:0)

我终于设法得到了想要的数字。

sim.data1 <- data.frame(
time = c(rep(1, times = 1000), rep(2, times = 1000)), 
x = c(rnorm(1000, mean =0 , sd =1 ), rnorm(1000, mean =5 , sd =1 ))
case=rep(1, times = 2*1000)
)

sim.data2 <- data.frame(
time = c(rep(1, times = 300), rep(2, times = 300)), 
x = c(rnorm(300, mean =0 , sd =1 ), rnorm(300, mean =7 , sd =1 )),
case=rep(2, times = 2*300)
)



ggplot(sim.data1, aes(x = x, y =time, group=time,alpha=0.5) ,fill=case)+
geom_density_ridges()+
geom_density_ridges(data= sim.data2, mapping= aes(x = x, y =time,group=time,alpha=0.5,fill=case))+
theme(legend.position = "none")

new figure