在 R 中对分布不均的列进行分箱
Binning an unevenly distributed column in R
我必须在 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 是示例,对于现实世界中的给定数据,值可能看起来不像这样。我只是想展示我希望输出的样子。
这将有助于:
num_bins <- 5
findInterval(Qty, unique(quantile(Qty, prob = seq(0, 1, 1/num_bins))))
我必须在 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 是示例,对于现实世界中的给定数据,值可能看起来不像这样。我只是想展示我希望输出的样子。
这将有助于:
num_bins <- 5
findInterval(Qty, unique(quantile(Qty, prob = seq(0, 1, 1/num_bins))))