使用另一个单元格值上的过滤器获取单元格值

时间:2018-11-26 00:40:47

标签: r

我有以下数据表。

          Genre  PS4 X360
 1:       Action 0.71 0.75
 2:    Adventure 0.25 0.32
 3:     Fighting 0.47 0.58
 4:         Misc 0.49 0.73
 5:     Platform 0.64 0.47
 6:       Puzzle 0.02 0.12
 7:       Racing 0.68 0.63
 8: Role-Playing 0.55 0.95
 9:      Shooter 2.22 1.37
10:   Simulation 0.15 0.36
11:       Sports 1.16 0.63
12:     Strategy 0.08 0.36
13:        (all) 0.83 0.77

我想获得Genre的值,而PS4获得其最大值。因此,期望值为 Shooter

我可以使用PS4获得dt[,max(PS4)]的最大值。如何使用此结果获取列“ Genre”的对应值

1 个答案:

答案 0 :(得分:1)

您可以使用which()

> dt$Genre[which(dt$PS4 == max(dt$PS4))]
[1] Shooter
13 Levels: (all) Action Adventure Fighting Misc Platform Puzzle ... Strategy

或者(甚至更简单),只需使用逻辑子设置:

> dt$Genre[dt$PS4 == max(dt$PS4)]
[1] Shooter
13 Levels: (all) Action Adventure Fighting Misc Platform Puzzle ... Strategy