【问题标题】:density histogram by intervals in RR中间隔的密度直方图
【发布时间】:2014-11-18 14:37:25
【问题描述】:

我想用密度绘制直方图

x<-c(1,15,44,40)
bits<-c(10,20,170,200)
hist(x,breaks=c(0,cumsum(bits)),right=F,freq=F)

此直方图未绘制密度为 40/200 的区间 [200,400)。 我应该修改什么?

【问题讨论】:

  • 没有数据x 落在大于 44 的任何区间内,因此区间 [200,400) 应该为空。你能详细说明你想画什么吗?

标签: r statistics histogram


【解决方案1】:

如果我没听错的话,你有预先分箱的数据:

interval      count
[  0,  10)        1
[ 10,  30)       15
[ 30, 200)       44
[200, 400)       40
total           100

您的代码不起作用,因为hist 尝试将x 中的值单独分箱。 1 进入第一个区间,15 进入第二个区间,44 和 40 进入第三个区间。

我不知道如何使用hist 执行此操作。使用ggplot2,您可以使用geom_histogramweight 美学来获得您想要的:

x <- c(1,15,44,40,0)
bits <- c(10,20,170,200)
breaks <- c(0,cumsum(bits))
ggplot(data=as.data.frame(cbind(bits,x)), aes(x=bits, weight=x)) +
    geom_histogram(aes(y=..density..), breaks=breaks)

在直方图中,区间的密度为 0.002。 0.002*200=0.4=40/100。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 2018-06-30
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2012-03-04
    相关资源
    最近更新 更多