R直方图:按一个特征分类,密度由另一个特征分类

时间:2014-06-06 00:32:51

标签: r histogram

我有一个两个变量的数据框,在R中是x和y。我想要做的是将每个条目按其值x进行bin,但是然后显示每个bin中所有条目的y值的密度。更具体地,对于以x为单位的每个间隔,我想绘制(其中x的值在特定间隔中的条目的y的所有值的总和)/(所有条目的y的所有值的总和)。我知道如何通过矢量操作手动执行此操作,但我必须制作大量这些图并想知道它们是否是更快的方法来执行此操作,可能通过一些高级的hist。

1 个答案:

答案 0 :(得分:0)

您可以使用cut生成分组,然后使用facet_grid显示多个直方图:

# Sample data with y depending on x
set.seed(144)
dat <- data.frame(x=rnorm(1000))
dat$y <- dat$x + rnorm(1000)

# Generate bins of x values
dat$grp <- cut(dat$x, breaks=2)

# Plot
library(ggplot2)
ggplot(dat, aes(x=y)) + geom_histogram() + facet_grid(grp~.)

enter image description here