【发布时间】:2020-04-30 10:28:41
【问题描述】:
考虑一个示例数据框;
| cat_name | brand_name | qty | amt |
-------------------------------------
| A | AA | 10 | 500 |
| A | AB | 8 | 400 |
| A | AC | 10 | 100 |
| B | BA | 20 | 250 |
| B | BB | 05 | 150 |
| B | BC | 10 | 100 |
我想根据数据框中存在的每个组的数量的最大值分配一个分数,例如,对于上述数据集,我可以提供以下示例分数;
| cat_name | brand_name | qty | amt | score |
----------------------------------------------
| A | AA | 10 | 500 | 100 |
| A | AB | 8 | 400 | 80 |
| A | AC | 10 | 100 | 30 |
| B | BA | 20 | 250 | 100 |
| B | BB | 05 | 150 | 75 |
| B | BC | 10 | 100 | 30 |
如前所述,我将根据 0 - 100 作为分数分配一个值,然后根据最大和最小值为数据集中的每个组分配一个分数。
我可以使用 sample.int() 根据行数轻松分配随机值,但是,有没有一种方法可以根据数据帧中每个组的最大和最小数量分配特定值。我一般会按 cat_name 分组。
【问题讨论】:
-
最好包含您的评分规则,例如为什么 cat_name A 的 100 得到 30 以及为什么 500 得到 100
-
我只是根据 amt 字段的值给出 0 到 100 之间的随机分数。例如,对于每个类别,我可以根据 amt 的最大值分配分数。金额越高,分数越高。
标签: r