Получить значение ячейки, используя фильтр для значения другой ячейки - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть следующий data.table.

          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 голосов
/ 26 ноября 2018

Вы можете использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...