重量为R的直方图

时间:2015-05-20 16:56:12

标签: r ggplot2 histogram

我需要绘制密度而不是频率的加权直方图。我知道hist()中可以使用ggplot2,但您无法指定权重。在library(ggplot2) w <- seq(1,1000) w <-w/sum(w) v <- sort(runif(1000)) foo <- data.frame(v, w) ggplot(foo, aes(v, weight = w)) + geom_histogram() 我可以这样做:

freq = FALSE

但在哪里等同于group = list(group)

1 个答案:

答案 0 :(得分:4)

默认情况下,geom_histogram()将在y轴上使用频率而不是密度。但是,您可以通过将y美学设置为..density..来改变这种情况:

ggplot(foo, aes(x = v, y = ..density.., weight = w)) + geom_histogram()

这将产生v的加权直方图,其y轴为密度。

weighted_density_histogram

您也可以使用freq包中weighted.hist()中的plotrix参数执行此操作:

library(plotrix)
with(foo, weighted.hist(v, w, freq = FALSE))

plotrix