在R中对不均匀分布的列进行分箱

时间:2018-05-28 16:18:25

标签: r mean binning exponential-distribution

我必须在R中有一个像指数分布那样具有不均匀分布的列。我想规范化数据,然后在后续存储桶中存储数据。

看到以下链接有助于规范化数据,但没有将数据分类到不同类别。

Normalizing data in R

Standardize data columns in R

示例:如何使用分布式列,但行数很多。

dat <- data.frame(Id = c(1,2,3,4,5,6,7,8),
                  Qty = c(1,1,1,2,3,13,30,45))

我希望它将列分为5个类别,可能看起来像:

dat <- data.frame(Id = c(1,2,3,4,5,6,7,8),
                      Qty = c(1,1,1,2,3,13,30,45),
                      Binned_Category = c(1,1,1,1,2,3,4,5))

上面的binned_Category是示例,对于现实世界中的给定数据,值可能看起来不像这样。我只想展示我希望输出的样子。

1 个答案:

答案 0 :(得分:1)

这会有所帮助:

num_bins <- 5
findInterval(Qty, unique(quantile(Qty, prob = seq(0, 1, 1/num_bins))))
相关问题