如果我有一个向量(例如v<-runif(1000)),则可以绘制其直方图(它会或多或少看起来像一条水平线,因为v是均匀分布的样本)。

但是,假设我有一个向量及其关联的权重(例如,除了w<-seq(1,1000)之外的v<-sort(runif(1000)))。例如,这是table()在更大数据集上的结果。

如何绘制新的直方图? (在此示例中,它看起来应该更像y=x行)。

我想我可以通过使用tablerep)来反转hist(rep(v,w))的效果,但是此“解决方案”看起来很丑陋且占用大量资源(创建大小为sum(w)的中间向量),并且仅支持整数权重。

最佳答案

Package plotrix具有功能weighted.hist,它可以执行您想要的操作:

w<-seq(1,1000)
v<-sort(runif(1000))
weighted.hist(v, w)

关于r - 创建加权值的直方图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19841204/

10-15 19:58