table:Brands_12M as data.table
名称(Brands_12M):“主要类别”,“品牌”,“销售”
有5大类和500个品牌。
我正在尝试使用以下方式将“排名”列添加到“主要类别”的“销售”中:
Brands_12M <- Brands_12M[,Rank := frankv(Brands_12M, "Sales", "Major Category", order=-1L)]
对于忽略“主要类别”的所有品牌,我的排名为1-500。我需要按品牌排名每个“主要类别”,即1-100,1-100等
非常感谢任何建议。
答案 0 :(得分:1)
在查看所有评论后我改变了我的回答。这似乎更接近于建议。我在下面使用的样本数据集有500个观察结果,这似乎是海报想要的。
每个Major Category
内的等级也从1到100。
库(data.table)
Brands_12M <- data.table(`Major Category` = rep(1:5,100),
Brand = 1:500,
Sales = runif(500))
Brands_12M <- Brands_12M[,Rank:=frankv(Sales, order=-1L),by=c("Major Category")][order(`Major Category`,Sales)]