2011-10-07 26 views
2

嗨我正在使用R来分析模拟输出中的数据。我使用HIST函数生成PDF格式的确切命令我给的是在R中生成概率分布函数(PDF)时出现问题

hist(data_delay$delay,freq=F) 

在我的理解中图表的y轴应小于1的值,都在Y轴上的数加起来应该1但不幸的是,我没有在Y轴上获得随机范围,有时数值在1000年。

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

感谢您提供的所有帮助。

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

回答

10

按照hist文档,当freq=FALSE“的直方图具有一个的总面积”。并不是说每个酒吧的高度都应该小于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] 

总面积的休息是等距相隔0.005,所以我们可以通过执行以下操作查看直方图的总面积。

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

你可能更喜欢?density

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

+1

这可能是更好的,但它不会解决OP的关注(这是基于数和密度之间的混淆) –