Какова самая высокая комбинация определенных значений в таблице с определенным ограничением - PullRequest
0 голосов
/ 06 ноября 2018

Я сейчас работаю над так называемой проблемой "Moneyball". Я в основном пытаюсь выбрать лучшую комбинацию из трех игроков в бейсбол (на основе определенной статистики, относящейся к бейсболу) за наименьшую сумму денег.
У меня есть следующий набор данных (OBP, SLG и AB - статистика, которая описывает производительность игрока):

# the table has about 100 observations;
# the data frame is called "batting.2001"

playerID    OBP         SLG         AB   salary

giambja01   0.3569001   0.6096154   20   410333
heltoto01   0.4316547   0.4948382   57   4950000
berkmla01   0.2102326   0.6204506   277  305000
gonzalu01   0.4285714   0.3880131   409  9200000
martied01   0.4234079   0.5425532   100  5500000

Моя цель состоит в том, чтобы выбрать трех игроков, которые в комбинации имеют максимально возможную сумму OBP, SLG и AB, но в то же время не превышают общую зарплату в 15.000.000 долларов.

Мой подход до сих пор был довольно простым ... Я просто попытался расположить (в порядке убывания) столбцы OBP, SLG и AB и просто выбрать трех игроков сверху, которые в комбинации не превышают ограничение по зарплате 15 миллионов долларов:

batting.2001 %>%
   arrange(desc(OPB), desc(SLG), desc(AB))

Кто-нибудь из вас может подумать о лучшем решении? Кроме того, что если я хотел бы получить лучшую комбинацию из трех игроков за наименьшее количество денег? Какой подход вы бы использовали в этом сценарии?

Заранее спасибо и с нетерпением ждем ваших решений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...