В продолжение Кубка мира по крикету я хотел создать собственный калькулятор Duckworth-Lewis для One Day Internationals, используя R.
Это задача, которую я поставил перед собой, чтобы заставить меня лучше понять R и то, что я мог сделать. Duckworth-Lewis - это алгоритм, используемый в крикете, когда неожиданные задержки (особенно плохая погода) занимают центральное место. Алгоритм (в One Day Internationals) включает в себя вычисление номинальной оценки команды 2, в которой «цель команды 2» равна «оценке команды 1», умноженной на отношение «ресурсов команды 2» и «ресурсов команды 1», и мы добавляем 1 к найти цель (иначе это создаст место для сценария Кубка мира 2003 года в Южной Африке).
team2_target = function(team1_score, team1_resources, team2_resources) {
return((team1_score * (team2_resources/team1_resources) + 1)
}
Я хочу, чтобы моя функция использовала количество потерянных калиток, а также оставшиеся кадры для вычисления переменной «Ресурсы команды 2». Например, если команда 1 набрала 277 из полных 50 оверов, а команда 2 набрала 240 с потерей 4 калиток после 40 оверов, я хочу использовать «Перемены» и «Потерянные калитки» в качестве переменных. Это звучит очень просто, но оба эти фактора имеют значение, и если любая из моих желаемых переменных изменится, сама переменная team2_resources изменится.