重叠的不均匀箱和计数的直方图/密度图

时间:2020-08-12 18:14:00

标签: r

我有一些数据,其中已经预先计算了整个范围内的垃圾箱的样本数量,并且垃圾箱重叠且大小不均。看起来像:

x2 <- data.frame("BinFrom" = c(1,1,2,2,4,4,4,5,5,5,8,8,8,9,11,14,17,18,19), 
                "BinTo" = c(3,6,4,8,5,8,6,10,12,6,7,15,11,10,20,20,18,19,20), 
                "Count" = c(1000,2400,15,2000,20,3800,10,6000,4200,10,25,3000,2800,10,1300,9000,10,5,40))

我希望为这些数据生成直方图和密度图。有办法吗?

ggdensity等需要扩展的数据。我试图通过扩展垃圾箱的中点来强制采用这种格式,例如:

x2 <- x2 %>% mutate(MidBin = BinFrom + ((BinTo-BinFrom)/2))
xp <- x2 %>% expandRows(., "Count") 
ggdensity(xp, "MidBin")

但这会丢失重要的数据,而对于我的实际数据帧来说这是不可能的,因为行扩展会耗尽向量内存。

感谢所有帮助

1 个答案:

答案 0 :(得分:0)

创建新矩阵并计算基本重叠

ggplot(base,aes(x=base,y=overlap))+geom_bar(stat = "identity")
#or
ggplot(base,aes(x=base,y=overlap))+geom_area(alpha=0.25)

情节

let groups = [{key: 'group1', value: [1,2,3]}, {key: 'group2', value: [3,4,5]}]


groups.forEach(function(entry) {
    entry.value.forEach(function(val){
      console.log(val)
    })
});