如果我有一个向量(例如v<-runif(1000)
),我可以绘制它的直方图(它或多或少看起来像一条水平线,因为v
是来自均匀分布的样本)
但是,假设我有一个向量及其相关权重(例如w<-seq(1,1000)
除了v<-sort(runif(1000))
)。例如,这是table()
对更大数据集的结果。
如何绘制新的直方图? (它应该看起来更像是本例中的y=x
行。)
我想我可以通过使用table
(rep
)来反转hist(rep(v,w))
的效果,但这个“解决方案”看起来很丑陋且资源丰富(创建一个大小为{{{{1}的中间向量1}}),它只支持整数权重。
答案 0 :(得分:28)
library(ggplot2)
w <- seq(1,1000)
v <- sort(runif(1000))
foo <- data.frame(v, w)
ggplot(foo, aes(v, weight = w)) + geom_histogram()
答案 1 :(得分:13)
答案 2 :(得分:5)