【发布时间】:2018-05-28 16:18:25
【问题描述】:
我必须在 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 是示例,对于给定数据,在现实世界中的值可能与此不同。我只是想展示我希望输出的样子。
【问题讨论】:
-
您的分箱标准是什么?这会涉及截止范围吗?我发现很难理解您是如何到达 Binned_Category 列的。
-
cut()是您正在寻找的东西 -
@M_Shimal:我假设在对列进行归一化之后,我的值将介于 0-1 之间,然后将这些值分成 5 个相等的 bin
-
正如@abhiieor 指出的那样,我认为 cut() 是您正在寻找的。看看这个stackoverflow.com/questions/40794821/…
-
@abhiieor:你能提供完整的答案吗?如何首先将指数分布转换为 0-1,然后将其“切割”到 bin 中
标签: r mean binning exponential-distribution