Я анализирую некоторые спортивные данные, и у меня есть набор записей о победе/потере для 40 команд. Я хотел бы получить рейтинг, где каждая победа взвешивается силой противника. Это должно быть несколько итеративных/рекурсивных вещей, где веса и ряды обновляются на каждой итерации до конвергенции. Кто-нибудь знает, существует ли существующая функция или пакет для такого рода вещей? Я предполагаю, что это будет не спорт-специфический пакет, но я думаю, что это нечто общее для многих областей.Функция R для взвешивания команд силой противника?
EDIT:
Вот несколько примеров данных. Есть 4 команды, A, B, C и D, и каждый раз играл другую команду один раз, в результате 10 уникальных игр. Данные удваиваются, так что четыре игры каждой команды перечислены как их собственные строки, а столбец «a.win» ссылается на то, выиграл ли «team.a» игру (1 = Да).
dat<-data.frame(
team.a=c("A","A","A","A","B","B","B","B","C","C","C","C","D","D","D","D","E","E","E","E"),
team.b=c("B","C","D","E","A","C","D","E","A","B","D","E","A","B","C","E","A","B","C","D"),
a.win=c(1,1,0,1,0,0,1,0,0,1,1,0,1,0,0,1,0,1,1,0))
Из этих данных команда А выиграла 3/4, B выиграл 1/4, С, D и Е каждый выиграл 2/4. Но команда D била A, тогда как C и E все проиграли A. Таким образом, интуитивно D следует оценивать чуть выше C и E, так как одна из его побед пришла к самому высокому рейтингующемуся сопернику. Точно так же команда C проиграла команде B (единственная команда с выигрышем только выиграла), поэтому интуитивно она должна быть ранжирована ниже D и E.
Я пытаюсь выяснить, как лучше всего присвоить ранги (например, от - 1 к 1, или на основе вероятности выигрыша, или количества потерь и т. Д.), А затем как лучше всего перегрузить каждую команду не только на основе количества побед/потерь, но и в ранге противника, которого они победили.
Как бы то ни было, это довольно широкий вопрос. Я бы предположил, что вы добавляете какой-то код и/или данные, или это, вероятно, будет закрыто. – nrussell
Я не уверен, почему это так широко. Я просто ищу базовую систему ранжирования команд, которая весит силой противника/расписания, но которая итеративно вычисляет силу, основанную на ранжировании предыдущей итерации. Это распространено во всех видах спорта, я просто не могу найти встроенную функцию R, которая может это сделать. – user3037237
@ user3037237 Пожалуйста, прочитайте [** о SO **] (http://stackoverflow.com/tour): «Включите сведения о том, что вы пробовали»; «Не спрашивайте ... [q] uestions, на которые вы не пытались найти ответ (покажите свою работу!)». Также читайте [** Какие темы я могу задать здесь? **] (http://stackoverflow.com/help/on-topic): «Вопросы, предлагающие нам рекомендовать или найти инструмент [..], библиотеку программного обеспечения, [...] находятся вне темы ». – Henrik