setup_games <- function(gameIds, homeTeamIds, awayTeamIds, homeScores, awayScores, isNeutralSite, replaceDrawValue = NA){
g <- data.frame(GameId = gameIds,
HomeTeamId = homeTeamIds,
AwayTeamId = awayTeamIds,
HomeScore = homeScores,
AwayScore = awayScores,
IsNeutralSite = isNeutralSite,
stringsAsFactors = FALSE)
# SCORES SHOULD EITHER BE BOTH NA OR NEITHER NA. GET RID OF BAD GAMES
g <- g %>% filter(!((is.na(HomeScore) & !is.na(AwayScore)) | (!is.na(HomeScore) & is.na(AwayScore))))
# MAKE DRAWS INTO A 1-GOAL WIN FOR HOME AND A 1-GOAL WIN FOR AWAY (2 REPLACEMENT GAMES)
if(!is.na(replaceDrawValue)) {
draws <- g %>% filter(!is.na(AwayScore) & !is.na(HomeScore) & AwayScore == HomeScore)
drawHomeWinReplacement <- data.frame(GameId = draws$GameId,
HomeTeamId = draws$HomeTeamId,
AwayTeamId = draws$AwayTeamId,
HomeScore = draws$HomeScore + replaceDrawValue,
AwayScore = draws$AwayScore,
IsNeutralSite = draws$IsNeutralSite)
drawAwayWinReplacement <- data.frame(GameId = draws$GameId,
HomeTeamId = draws$HomeTeamId,
AwayTeamId = draws$AwayTeamId,
HomeScore = draws$HomeScore,
AwayScore = draws$AwayScore + replaceDrawValue,
IsNeutralSite = draws$IsNeutralSite)
g <- g %>% filter(is.na(AwayScore) | is.na(HomeScore) | AwayScore != HomeScore)
g <- rbind(g, drawHomeWinReplacement, drawAwayWinReplacement)
}
g <- g %>%
mutate(HomeMarginOfVictory = HomeScore - AwayScore,
GameResult = ifelse(HomeMarginOfVictory > 0, 1, 0))
return(g)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.