【发布时间】:2018-05-24 01:23:20
【问题描述】:
希望任何人都知道 R 中的简单解决方案。
我有一个包含多个变量的数据集“temp”:
Department Product Var1
D1 P1 3
D1 P2 6
D2 P1 4
D3 P2 2
D3 P3 3
所以Var1 是数字。
已经为每个部门内的每个产品计算过。
现在,我正在尝试按每个部门组中的产品进行排名。 按产品获得排名很容易:
ranked<-transform(temp, rank_Var1= ave(Var1, FUN = function(x) rank(x, ties.method = "average")))
但是,我无法找到一个条件,即现在需要在每个部门内计算排名 Var1。
非常感谢任何建议。 谢谢
【问题讨论】:
-
我会使用
dplyr包。也许temp %>% group_by(Department, Product) %>% mutate(ranked = rank(Var1)