计算分组频率数据的R中的密度()

时间:2014-03-25 23:41:53

标签: r aggregation kernel-density

这应该是一个非常简单的问题,但我无法在任何地方找到答案(部分原因是因为我不确定要查询的内容)。

在R中,很容易计算密度:

c(1, 2, 2, 2, 3, 5, 5, 7, 8, 10, 10, 10)

你这样做:

density(c(1, 2, 2, 2, 3, 5, 5, 7, 8, 10, 10, 10))

问题是,如果我的数据中有这样的“未分组”矢量,那么对于R(或构建数据集的查询引擎)来说,它将太大了。因此,我需要在初始查询中使用GROUP BYCOUNT(*)来压缩我的结果(因此,使用rep()扩展计数并没有帮助)。给定“计数”这样的数据框,我如何计算框架的密度(对于KDE图),如:

Value Count
1     1
2     3
3     1
5     2
7     1
8     1
10    3

为了清楚起见,我确实需要密度图,直方图。

1 个答案:

答案 0 :(得分:2)

只需使用权重参数

density(d$Value, weights=d$Count/sum(d$Count))

(编辑以说明第一条评论)