- 已编辑
下面本楼主编了一个表,其中 id 表示一行记录的唯一标识,customer_id 表示一个客户的唯一标识,policy_id 表示一次购买记录的唯一标识,product 表示一次购买记录中具体购买的产品(可重复购买),fee 表示每次购买一个产品的购买金额(同种产品可用不同金额购买多次)。
已知一个客户购买一个产品的累计总金额超过50可以得到一个函件,若是多次购买累积金额均超过50可能会得到多个函件,但是函件数量与购买记录有特别的绑定关系,一次购买记录最多只能对应得到一个函件。
- 比如同一客户同一次购买记录中买了三次产品B,金额分别是71/31/21,虽然总金额加起来共123,但是只能得到1个函件。
- 比如一个客户购买同种产品有4次购买记录,金额分别是41、31、21、11,那么按照41+11、31+21均会累积超过50,那么会得到2个函件。
求:每个客户每种产品分别能得到多少函件?(PS虽然只编了十几条数据,但是可以想象要解决的问题是由无数条数据组成的。)
```
data <- data.frame(
id = c(1:14),
customer_id = c(rep(1, 2), rep(2, 3), rep(3, 5), rep(4, 4)),
policy_id = c(123:124, rep(125, 3), 126:134),
product = c(rep('A', 2), rep('B', 3), rep('C', 4), 'D', rep('E', 4)),
fee = c(51, 51, 71, 31, 21, 28, 28, 28, 20, 51, 41, 31, 21, 11))
head(data, 14)
```
id customer_id policy_id product fee
1 1 1 123 A 51
2 2 1 124 A 51
3 3 2 125 B 71
4 4 2 125 B 31
5 5 2 125 B 21
6 6 3 126 C 28
7 7 3 127 C 28
8 8 3 128 C 28
9 9 3 129 C 20
10 10 3 130 D 51
11 11 4 131 E 41
12 12 4 132 E 31
13 13 4 133 E 21
14 14 4 134 E 11
按照上面编造的数据,客户1会得到2个函件,客户2得到1个函件,客户3得到2个函件,客户4得到2个函件。