在R中生成概率分布函数(PDF)的问题

时间:2011-10-07 17:32:03

标签: r probability histogram

您好我正在使用R来分析模拟输出中的数据。我正在使用hist函数生成pdf,我给出的确切命令是

hist(data_delay$delay,freq=F)

在我理解的情况下,图表的y轴应小于1,Y轴上的所有计数应加起来为1.但不幸的是,我没有得到Y轴的随机范围,有时值为1000的。

我正在附加我的示例输入文件。在此,Y轴值在0到100的范围内。

感谢您提供的所有帮助。

我的数据如下 http://www.mediafire.com/?twyoseg8bai0dr7

2 个答案:

答案 0 :(得分:10)

根据hist文档,当freq=FALSE时,“直方图的总面积为1”。它没有说每个酒吧的高度应该小于1。使用命令和数据创建的直方图的总面积为1。

> data_delay <- read.csv("PATH_TO_DATA_FILE")
> h <- hist(data_delay$delay, plot=F)
> h
$breaks
 [1] 0.000 0.005 0.010 0.015 0.020 0.025 0.030 0.035 0.040 0.045 0.050 0.055
[13] 0.060 0.065 0.070

[SNIP]

$density
 [1] 112.47892074  13.36706015   3.91231029   5.98088814  10.35413153
 [6]  11.21978640  11.80438449   6.55424396  14.14277684   2.63069140
[11]   5.53119730   1.31534570   0.69702080   0.01124227

[SNIP]

断点间距相等,因此我们可以通过以下方式查看直方图中的总面积。

> sum(h$density * 0.005)
[1] 1

答案 1 :(得分:1)

您可能更喜欢?density

如同 foo<-density(rnorm(1000)) ; plot(foo)