如何正确设置hist图?

时间:2013-04-06 10:46:32

标签: r

以下是http://s.yunio.com/87HT7f中的数据文件 请下载并保存为mydata。

y<-scan("mydata")
hist(y,breaks=c(0,60,70,80,90,100),freq=TRUE)
axis(2,at=seq(0,20,length.out=5),labels=c(0,5,10,15,20))

有两个问题:
1.警告信息:
在plot.histogram中(r,freq = freq1,col = col,border = border,angle = angle,:
  情节中的区域是错误的 - 而是使用freq = FALSE

我只想要频率不是概率,在y轴上计算的次数,如何使警告信息消失?

2.运行时 axis(2,at=seq(0,20,length.out=5),labels=c(0,5,10,15,20))
y轴上没有20

2 个答案:

答案 0 :(得分:1)

查看hist的手册:

freq:
     Defaults to 'TRUE' _if and only if_ 'breaks' are equidistant
     (and 'probability' is not specified).

答案 1 :(得分:0)

对于第一个问题,这是一个警告,而不是错误。此警告表示每个条形图的视觉区域与其实际频率不对应 - 您可以从第一个区域看到它,区域最大但频率仅为5。

对于第二个问题,您必须在ylim=c(0,20)内设置hist()以查看数字20,因为y轴小于20.函数axis()仅绘制标签,但它不是改变轴的长度(最初没有数字20的空间)。

hist(y,breaks=c(0,60,70,80,90,100),freq=TRUE,ylim=c(0,20))
axis(2,at=seq(0,20,length.out=5),labels=c(0,5,10,15,20))