首页 > 解决方案 > 如何使用 R 使用分位数将数据划分为 bin

问题描述

假设我的汇总数据如下

   client_id     order_frequency  order_recency  order_monatery   
   Min.   :  1.0   Min.   : 1.000   Min.   : 0.0   Min.   :   5.48  
   1st Qu.:133.5   1st Qu.: 5.000   1st Qu.:12.0   1st Qu.: 414.14  
   Median :282.0   Median : 8.000   Median :30.0   Median : 761.60  
   Mean   :280.1   Mean   : 8.907   Mean   :33.6   Mean   : 880.08  
   3rd Qu.:423.0   3rd Qu.:12.000   3rd Qu.:51.0   3rd Qu.:1215.03  
   Max.   :560.0   Max.   :32.000   Max.   :89.0   Max.   :3493.15

我想使用分位数将这些数据分成箱。基本上我正在尝试进行 RFM 分析,这就是我需要做的。

fr_tbl <- mutate(frm_tbl_initial, frequency_bins = cut(order_frequency, breaks = c())

我有这段代码,但我不确定在休息时间里写什么。有人可以帮助我使用分位数创建垃圾箱吗?

标签: r

解决方案


当希望将数据集分成相等的部分(在本例中为四分位数)时,该函数接受单个值。而要以特定间隔切割,您可以手动定义这些间隔。在这种情况下,您可以这样做:

cut(order_frequency, breaks = 4)

例如:

cut(c(1:100),breaks=4)

这会创建一个值因子:

levels(cut(c(1:100),breaks=4))

1:100根据 4 个级别将每个值分配给 q 个四分位数段之一


推荐阅读