#'Get Pairings
#'
#'Create line combinations based on play-by-play data
#'
#'@param pbp A raw RTSS data file
#'@param roster A data frame containing a player_name and player_position column
#'@param side 'home' or 'away' denotes side of the ice to create
#'@param position 'F' or 'D' pertaining to a position on the ice. Also accepts 'All'
#'
#'@author Eric Fastner (eric.fastner@@gmail.com)
#'@export
get_pairings <- function(pbp, roster, side, position){
if (tolower(side) == 'home' | tolower(side) == 'h'){
playerlist <-
pbp %>%
select(
"home_on_1",
"home_on_2",
"home_on_3",
"home_on_4",
"home_on_5",
"home_on_6"
) %>%
gather(key = "Key",
value = "player_name")
} else if(tolower(side) == 'away' | tolower(side) == 'a'){
playerlist <-
pbp %>%
select(
"away_on_1",
"away_on_2",
"away_on_3",
"away_on_4",
"away_on_5",
"away_on_6"
) %>%
gather(key = "Key",
value = "player_name")
}
positionlist <-
roster %>%
filter(player_name %in% playerlist$player_name) %>%
select(player_name, player_position)
completelist <-
left_join(playerlist, positionlist) %>%
filter(player_position != 'G')
if (tolower(position) == 'all' | tolower(position) == 'a'){
return(paste(sort(completelist$player_name), collapse = '|'))
} else if (tolower(position) == 'f'){
forwardlist <-
filter(completelist, player_position %in% c('R', 'L', 'C'))
return(paste(sort(forwardlist$player_name), collapse = '|'))
} else if (tolower(position) == 'd'){
defenselist <-
filter(completelist, player_position %in% 'D')
return(paste(sort(defenselist$player_name), collapse = '|'))
} else {return('ERROR: Side parameter must be either "All", "F", or "D"')}
}
#'Add Line Combinations
#'
#'Add line combinations for all skaters and append to pbp data
#'
#'@param pbp A raw RTSS data file
#'@param roster A data frame containing a player_name and player_position column
#'
#'@author Eric Fastner (eric.fastner@@gmail.com)
#'@export
add_line_combos <- function(pbp, roster){
for (i in 1:nrow(pbp)){
PP_Data[i, "Home_Pairings_5"] <- get_pairings(pbp = pbp, roster = roster, side = 'h', position = 'All')
PP_Data[i, "Away_Pairings_5"] <- get_pairings(pbp = pbp, roster = roster, side = 'a', position = 'All')
PP_Data[i, "Home_Pairings_Forwards"] <- get_pairings(pbp = pbp, roster = roster, side = 'h', position = 'F')
PP_Data[i, "Away_Pairings_Forwards"] <- get_pairings(pbp = pbp, roster = roster, side = 'a', position = 'F')
PP_Data[i, "Home_Pairings_Defense"] <- get_pairings(pbp = pbp, roster = roster, side = 'h', position = 'D')
PP_Data[i, "Away_Pairings_Defense"] <- get_pairings(pbp = pbp, roster = roster, side = 'a', position = 'D')
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.