可变间隔直方图

时间:2018-08-05 12:47:39

标签: r class histogram

我正在攻读硕士学位论文,并且需要编程方面的帮助。

我想生成一个直方图,该直方图绘制公司内部人士购买/出售的股票数量上的密度。

问题在于变量“金额”非常宽泛,并且具有2589704的极值。这些值远高于平均值38,000和中位数900。最小值为1。

因此,我想生成一个具有可变中断的直方图。

我的代码如下:

hist(myInside$Amount,
 breaks=c(min(myInside$Amount), seq(1000, 10000, 1000), max(myInside$Amount)),
 xlab="Amounts of shares bought/ sold",
 xlim=c(1,2589704),
 col="blue",
 freq=FALSE

结果如下:

Histogram

在左角只有一条细线接近零。其余的都是空的,我根本不知道为什么。

有人在改进方面使直方图的类别与数据正确匹配吗?我想要从1到10,000之类的11个类,因为大多数数据都在此范围内,其余数据应汇总在最后一个类中,因此高于10,000的所有数据都在最后一个类中。

非常感谢大家的帮助。

1 个答案:

答案 0 :(得分:0)

根据Tjebo的建议,您可以先按一定间隔切割数据:

# normal data:
myInside <- data.frame(Amount = c(rnorm(1000, 5000, 1000), 250000))
# transform data into numbered intervals:
myInside$Transform <- as.numeric(cut(myInside$Amount, 
                                  breaks = c(seq(0, 10000, by = 1000), 
                                             max(myInside$Amount))))

通话

hist(myInside$Transform,
 breaks = 11,
 xlab = "Classes of insider trades sizes",
 col = "blue",
 freq = FALSE)

然后给您:

Histogram of trade classes

但是,正如您所看到的,现在很难解释直方图。即使您指定类是什么,也仍然有些晦涩。也许用美元值而不是股票数量来重新定义数据可能会有所帮助(这也会增加数据的意义)。