根据R中三个其他列的行中哪个值最高来分配列值

时间:2017-06-03 12:52:18

标签: r frequency calculated-columns

我想在R中执行以下操作:

我购买了三种产品的频率:A B和C(客户是这里的标识符)。现在我想创建第四列,如果产品A具有最高购买频率,则每行的值为0;如果产品B具有最高购买频率,则值为1;如果产品C具有最高购买频率,则值为2购买频率。理想情况下,如果两个甚至所有三个产品的购买频率同样高,我想随机分配三个值中的一个。当然,如果只有两个类别(而不是三个)最高且相等,那么这个随机分配只应针对三个类别中的两个进行。

所以说我有下表:

customer    A    B    C
1           2    3    4
2           4    6    5
3           4    2    4
4           4    2    4
5           4    4    4
6           2    2    2
7           4    4    4

我想创建(例如)以下列:

highest_purchase_freq
2
1
0
2
0
1
2

如果有人可以帮助我,那将会很棒。

提前致谢!

1 个答案:

答案 0 :(得分:0)

which.is.max的{​​{1}}功能可能就是您要找的内容? 它找到向量中的最大位置,随机打破关系。

nnet