【发布时间】:2018-04-26 07:43:52
【问题描述】:
我有一个数据框说 prod_score:
product score
a 1
d 2
ff 2
e 3
fvf 1
我有另一个具有相同产品的数据框 prod_rank + 他们的排名 prod_rank:
product rank
a 11
d 4
ff 1
e 5
fvf 9
为了澄清我有很多观察结果,这就是我展示示例数据的原因。
过滤所有得分为 2 的产品:
library(dplyr)
prod_scr_2 <- prod_score %>% filter(score == 2)
现在我想拿prod_scr_2个产品,根据prod_rank df更新分数:
我用过join:
decision_tbl <- inner_join(prod_scr_2, prod_rank, by = "product") %>%
top_n(2,desc(rank))
现在我正在接受decision_tbl$product 并且只想更新获得最高排名的产品的分数。
我使用 match 来做到这一点:
prods2update_idx <- match(decision_tbl$product, prod_score$product)
鉴于我正在尝试更新 prod_score 数据框的匹配索引,请告知我该怎么做?
【问题讨论】:
-
那么,在这种情况下,哪些是排名靠前的产品?当
ff排名第 1 时,它是否只有产品d排名第 4? -
排名越低越好。