如何使用R使用分位数将数据划分为bin

时间:2019-03-10 19:01:46

标签: r

假设我的摘要数据如下

   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())

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

1 个答案:

答案 0 :(得分:1)

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

cut(order_frequency, breaks = 4)

例如:

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

这会创建一个值因子:

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

其中1:100值中的每一个均根据4个级别分配给q个四分位段之一