Class representing an active session connected to the American Soccer Analysis public API.
Public fields
API_VERSION
Latest API version.
MAX_API_LIMIT
Maximum number of requests returned by the API by default.
LEAGUES
List of stylized league names.
base_url
API base URL.
players
Data frame containing players from all leagues.
teams
Data frame containing teams from all leagues.
stadia
Data frame containing stadia from all leagues.
managers
Data frame containing managers from all leagues.
referees
Data frame containing referees from all leagues.
httr_configs
Configs to pass on to all
httr
functions. See documentation.latest_update_timestamp
Keeps record of the latest update timestamp for queried data. Used to conditionally clear the client-side cache.
Methods
Method new()
Creates a new AmericanSoccerAnalysis
object.
Usage
AmericanSoccerAnalysis$new(...)
Arguments
...
Configs to pass on to all
httr
functions. See documentation.
Method add_httr_configs()
Appends new httr
configs to the existing class.
Arguments
...
Configs to pass on to all
httr
functions. See documentation.
Method get_players()
Retrieves a data frame containing player names, IDs, and other metadata.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
ids
Player IDs on which to filter. Cannot be combined with
names
. Accepts a character vector of length >= 1.names
Player names on which to filter. Partial matches are accepted. Cannot be combined with
ids
. Accepts a character vector of length >= 1.
Method get_teams()
Retrieves a data frame containing team names, abbreviations, and IDs.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
ids
Team IDs on which to filter. Cannot be combined with
names
. Accepts a character vector of length >= 1.names
Team names on which to filter. Partial matches and abbreviations are accepted. Cannot be combined with
ids
. Accepts a character vector of length >= 1.
Method get_stadia()
Retrieves a data frame containing stadium names, IDs, and other metadata.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
ids
Stadium IDs on which to filter. Cannot be combined with
names
. Accepts a character vector of length >= 1.names
Stadium names on which to filter. Partial matches are accepted. Cannot be combined with
ids
. Accepts a character vector of length >= 1.
Method get_managers()
Retrieves a data frame containing manager names and IDs.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
ids
Manager IDs on which to filter. Cannot be combined with
names
. Accepts a character vector of length >= 1.names
Manager names on which to filter. Partial matches are accepted. Cannot be combined with
ids
. Accepts a character vector of length >= 1.
Method get_referees()
Retrieves a data frame containing referee names and IDs.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
ids
Referee IDs on which to filter. Cannot be combined with
names
. Accepts a character vector of length >= 1.names
Referee names on which to filter. Partial matches are accepted. Cannot be combined with
ids
. Accepts a character vector of length >= 1.
Method get_games()
Retrieves a data frame containing game IDs, dates, opponents, scores, and other metadata.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
game_ids
Game IDs on which to filter. Accepts a character vector of length >= 1.
team_ids
Team IDs on which to filter. Cannot be combined with
team_names
. Accepts a character vector of length >= 1.team_names
Team names on which to filter. Partial matches and abbreviations are accepted. Cannot be combined with
team_ids
. Accepts a character vector of length >= 1.seasons
Name(s)/year(s) of seasons. See the API documentation for possible values. Accepts a character vector of length >= 1.
stages
Describes the stage of competition in which a game took place. See the API documentation for possible values. Accepts a character vector of length >= 1.
Method get_player_xgoals()
Retrieves a data frame containing player xG data meeting the specified conditions.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
...
The following arguments will be parsed:
minimum_minutes
: Minimum threshold for sum of minutes played.minimum_shots
: Minimum threshold for sum of shots taken.minimum_key_passes
: Minimum threshold for sum of key passes.player_ids
: Player IDs on which to filter. Cannot be combined withplayer_names
. Accepts a character vector of length >= 1.player_names
: Player names on which to filter. Partial matches are accepted. Cannot be combined withplayer_ids
. Accepts a character vector of length >= 1.team_ids
: Team IDs on which to filter. Cannot be combined withteam_names
. Accepts a character vector of length >= 1.team_names
: Team names on which to filter. Partial matches and abbreviations are accepted. Cannot be combined withteam_ids
. Accepts a character vector of length >= 1.season_name
: Name(s)/year(s) of seasons. Cannot be combined with a date range. See the API documentation for possible values. Accepts a character vector of length >= 1.start_date
: Start of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.end_date
: End of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.shot_pattern
: Describes the possessing actions leading to the shot. Valid keywords include: 'Set piece', 'Corner', 'Free kick', 'Penalty', 'Fastbreak', and 'Regular'. Accepts a character vector of length >= 1.split_by_teams
: Logical indicator to group results by team.split_by_seasons
: Logical indicator to group results by season.split_by_games
: Logical indicator to group results by game.stage_name
: Describes the stage of competition in which a game took place. See the API documentation for possible values. Accepts a character vector of length >= 1.general_position
: Describes the most common position played by each player over the specified period of time. Valid keywords include: 'GK', 'CB', 'FB', 'DM', 'CM', 'AM', 'W', and 'ST'. Accepts a character vector of length >= 1.
Method get_player_xpass()
Retrieves a data frame containing player xPass data meeting the specified conditions.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
...
The following arguments will be parsed:
minimum_minutes
: Minimum threshold for sum of minutes played.minimum_passes
: Minimum threshold for sum of attempted passes.player_ids
: Player IDs on which to filter. Cannot be combined withplayer_names
. Accepts a character vector of length >= 1.player_names
: Player names on which to filter. Partial matches are accepted. Cannot be combined withplayer_ids
. Accepts a character vector of length >= 1.team_ids
: Team IDs on which to filter. Cannot be combined withteam_names
. Accepts a character vector of length >= 1.team_names
: Team names on which to filter. Partial matches and abbreviations are accepted. Cannot be combined withteam_ids
. Accepts a character vector of length >= 1.season_name
: Name(s)/year(s) of seasons. Cannot be combined with a date range. See the API documentation for possible values. Accepts a character vector of length >= 1.start_date
: Start of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.end_date
: End of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.pass_origin_third
: Describes the third of the field from which the pass originated. Valid keywords include: 'Attacking', 'Middle', and 'Defensive'. Accepts a character vector of length >= 1.split_by_teams
: Logical indicator to group results by team.split_by_seasons
: Logical indicator to group results by season.split_by_games
: Logical indicator to group results by game.stage_name
: Describes the stage of competition in which a game took place. See the API documentation for possible values. Accepts a character vector of length >= 1.general_position
: Describes the most common position played by each player over the specified period of time. Valid keywords include: 'GK', 'CB', 'FB', 'DM', 'CM', 'AM', 'W', and 'ST'. Accepts a character vector of length >= 1.
Method get_player_goals_added()
Retrieves a data frame containing player goals added (g+) data meeting the specified conditions.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
...
The following arguments will be parsed:
minimum_minutes
: Minimum threshold for sum of minutes played.player_ids
: Player IDs on which to filter. Cannot be combined withplayer_names
. Accepts a character vector of length >= 1.player_names
: Player names on which to filter. Partial matches are accepted. Cannot be combined withplayer_ids
. Accepts a character vector of length >= 1.team_ids
: Team IDs on which to filter. Cannot be combined withteam_names
. Accepts a character vector of length >= 1.team_names
: Team names on which to filter. Partial matches and abbreviations are accepted. Cannot be combined withteam_ids
. Accepts a character vector of length >= 1.season_name
: Name(s)/year(s) of seasons. Cannot be combined with a date range. See the API documentation for possible values. Accepts a character vector of length >= 1.start_date
: Start of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.end_date
: End of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.split_by_teams
: Logical indicator to group results by team.split_by_seasons
: Logical indicator to group results by season.split_by_games
: Logical indicator to group results by game.stage_name
: Describes the stage of competition in which a game took place. See the API documentation for possible values. Accepts a character vector of length >= 1.action_type
: Describes the goals added (g+) action type. Valid keywords include: 'Dribbling', 'Fouling', 'Interrupting', 'Passing', 'Receiving', and 'Shooting'. Accepts a character vector of length >= 1.general_position
: Describes the most common position played by each player over the specified period of time. Valid keywords include: 'GK', 'CB', 'FB', 'DM', 'CM', 'AM', 'W', and 'ST'. Accepts a character vector of length >= 1.above_replacement
: Logical indicator to compare players against replacement-level values. This will only return aggregated g+ values, rather than disaggregated g+ values by action type.
Method get_player_salaries()
Retrieves a data frame containing player salary data meeting the specified conditions.
Arguments
leagues
Leagues on which to filter. Currently, only MLS salary data is publicly available.
...
The following arguments will be parsed:
player_ids
: Player IDs on which to filter. Cannot be combined withplayer_names
. Accepts a character vector of length >= 1.player_names
: Player names on which to filter. Partial matches are accepted. Cannot be combined withplayer_ids
. Accepts a character vector of length >= 1.team_ids
: Team IDs on which to filter. Cannot be combined withteam_names
. Accepts a character vector of length >= 1.team_names
: Team names on which to filter. Partial matches and abbreviations are accepted. Cannot be combined withteam_ids
. Accepts a character vector of length >= 1.position
: Describes the general position, as reported by the players' association. Valid keywords include: 'GK', 'D', 'M', and 'F'. Accepts a character vector of length >= 1.season_name
: Name(s)/year(s) of seasons. Cannot be combined with a date range. See the API documentation for possible values. Accepts a character vector of length >= 1.start_date
: Start of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.end_date
: End of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.
Method get_goalkeeper_xgoals()
Retrieves a data frame containing goalkeeper xG data meeting the specified conditions.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
...
The following arguments will be parsed:
minimum_minutes
: Minimum threshold for sum of minutes played.minimum_shots_faced
: Minimum threshold for sum of shots faced.player_ids
: Player IDs on which to filter. Cannot be combined withplayer_names
. Accepts a character vector of length >= 1.player_names
: Player names on which to filter. Partial matches are accepted. Cannot be combined withplayer_ids
. Accepts a character vector of length >= 1.team_ids
: Team IDs on which to filter. Cannot be combined withteam_names
. Accepts a character vector of length >= 1.team_names
: Team names on which to filter. Partial matches and abbreviations are accepted. Cannot be combined withteam_ids
. Accepts a character vector of length >= 1.season_name
: Name(s)/year(s) of seasons. Cannot be combined with a date range. See the API documentation for possible values. Accepts a character vector of length >= 1.start_date
: Start of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.end_date
: End of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.shot_pattern
: Describes the possessing actions leading to the shot. Valid keywords include: 'Set piece', 'Corner', 'Free kick', 'Penalty', 'Fastbreak', and 'Regular'. Accepts a character vector of length >= 1.split_by_teams
: Logical indicator to group results by team.split_by_seasons
: Logical indicator to group results by season.split_by_games
: Logical indicator to group results by game.stage_name
: Describes the stage of competition in which a game took place. See the API documentation for possible values. Accepts a character vector of length >= 1.
Method get_goalkeeper_goals_added()
Retrieves a data frame containing goalkeeper goals added (g+) data meeting the specified conditions.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
...
The following arguments will be parsed:
minimum_minutes
: Minimum threshold for sum of minutes played.player_ids
: Player IDs on which to filter. Cannot be combined withplayer_names
. Accepts a character vector of length >= 1.player_names
: Player names on which to filter. Partial matches are accepted. Cannot be combined withplayer_ids
. Accepts a character vector of length >= 1.team_ids
: Team IDs on which to filter. Cannot be combined withteam_names
. Accepts a character vector of length >= 1.team_names
: Team names on which to filter. Partial matches and abbreviations are accepted. Cannot be combined withteam_ids
. Accepts a character vector of length >= 1.season_name
: Name(s)/year(s) of seasons. Cannot be combined with a date range. See the API documentation for possible values. Accepts a character vector of length >= 1.start_date
: Start of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.end_date
: End of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.split_by_teams
: Logical indicator to group results by team.split_by_seasons
: Logical indicator to group results by season.split_by_games
: Logical indicator to group results by game.stage_name
: Describes the stage of competition in which a game took place. See the API documentation for possible values. Accepts a character vector of length >= 1.action_type
: Describes the goals added (g+) action type. Valid keywords include: 'Claiming', 'Fielding', 'Handling', 'Passing', 'Shotstopping', and 'Sweeping'. Accepts a character vector of length >= 1.above_replacement
: Logical indicator to compare players against replacement-level values. This will only return aggregated g+ values, rather than disaggregated g+ values by action type.
Method get_team_xgoals()
Retrieves a data frame containing team xG data meeting the specified conditions.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
...
The following arguments will be parsed:
team_ids
: Team IDs on which to filter. Cannot be combined withteam_names
. Accepts a character vector of length >= 1.team_names
: Team names on which to filter. Partial matches and abbreviations are accepted. Cannot be combined withteam_ids
. Accepts a character vector of length >= 1.season_name
: Name(s)/year(s) of seasons. Cannot be combined with a date range. See the API documentation for possible values. Accepts a character vector of length >= 1.start_date
: Start of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.end_date
: End of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.shot_pattern
: Describes the possessing actions leading to the shot. Valid keywords include: 'Set piece', 'Corner', 'Free kick', 'Penalty', 'Fastbreak', and 'Regular'. Accepts a character vector of length >= 1.split_by_seasons
: Logical indicator to group results by season.split_by_games
: Logical indicator to group results by game.home_only
: Logical indicator to only include results from home games.away_only
: Logical indicator to only include results from away games.home_adjusted
: Logical indicator to adjust certain values based on the share of home games a team has played during the specified duration.even_game_state
: Logical indicator to only include shots taken when the score was level.stage_name
: Describes the stage of competition in which a game took place. See the API documentation for possible values. Accepts a character vector of length >= 1.
Method get_team_xpass()
Retrieves a data frame containing team xPass data meeting the specified conditions.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
...
The following arguments will be parsed:
team_ids
: Team IDs on which to filter. Cannot be combined withteam_names
. Accepts a character vector of length >= 1.team_names
: Team names on which to filter. Partial matches and abbreviations are accepted. Cannot be combined withteam_ids
. Accepts a character vector of length >= 1.season_name
: Name(s)/year(s) of seasons. Cannot be combined with a date range. See the API documentation for possible values. Accepts a character vector of length >= 1.start_date
: Start of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.end_date
: End of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.pass_origin_third
: Describes the third of the field from which the pass originated. Valid keywords include: 'Attacking', 'Middle', and 'Defensive'. Accepts a character vector of length >= 1.split_by_seasons
: Logical indicator to group results by season.split_by_games
: Logical indicator to group results by game.home_only
: Logical indicator to only include results from home games.away_only
: Logical indicator to only include results from away games.stage_name
: Describes the stage of competition in which a game took place. See the API documentation for possible values. Accepts a character vector of length >= 1.
Method get_team_goals_added()
Retrieves a data frame containing team goals added (g+) data meeting the specified conditions.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
...
The following arguments will be parsed:
team_ids
: Team IDs on which to filter. Cannot be combined withteam_names
. Accepts a character vector of length >= 1.team_names
: Team names on which to filter. Partial matches and abbreviations are accepted. Cannot be combined withteam_ids
. Accepts a character vector of length >= 1.season_name
: Name(s)/year(s) of seasons. Cannot be combined with a date range. See the API documentation for possible values. Accepts a character vector of length >= 1.split_by_seasons
: Logical indicator to group results by season.stage_name
: Describes the stage of competition in which a game took place. See the API documentation for possible values. Accepts a character vector of length >= 1.action_type
: Describes the goals added (g+) action type. Valid keywords include: 'Dribbling', 'Fouling', 'Interrupting', 'Passing', 'Receiving', and 'Shooting'. Accepts a character vector of length >= 1.zone
: Zone number on pitch. Zones 1-5 are the defensive-most zones, and zones 26-30 are the attacking-most zones. Accepts a character or integer vector of length >= 1.gamestate_trunc
: Integer (score differential) value between -2 and 2, inclusive. Gamestates more extreme than -2 and 2 have been included with -2 and 2, respectively. Accepts a character or integer vector of length >= 1.
Method get_team_salaries()
Retrieves a data frame containing team salary data meeting the specified conditions.
Arguments
leagues
Leagues on which to filter. Currently, only MLS salary data is publicly available.
...
The following arguments will be parsed:
team_ids
: Team IDs on which to filter. Cannot be combined withteam_names
. Accepts a character vector of length >= 1.team_names
: Team names on which to filter. Partial matches and abbreviations are accepted. Cannot be combined withteam_ids
. Accepts a character vector of length >= 1.season_name
: Name(s)/year(s) of seasons. Cannot be combined with a date range. See the API documentation for possible values. Accepts a character vector of length >= 1.split_by_teams
: Logical indicator to group results by team. Results must be grouped by at least one of teams, positions, or seasons. Value is TRUE by default.split_by_seasons
: Logical indicator to group results by season. Results must be grouped by at least one of teams, positions, or seasons.split_by_positions
: Logical indicator to group results by positions. Results must be grouped by at least one of teams, positions, or seasons.
Method get_game_xgoals()
Retrieves a data frame containing game xG data meeting the specified conditions.
Arguments
leagues
Leagues on which to filter. Accepts a character vector of length >= 1.
...
The following arguments will be parsed:
game_ids
: Game IDs on which to filter. Accepts a character vector of length >= 1.season_name
: Name(s)/year(s) of seasons. Cannot be combined with a date range. See the API documentation for possible values. Accepts a character vector of length >= 1.start_date
: Start of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.end_date
: End of a date range. Must be a string in YYYY-MM-DD format. Cannot be combined withseason_name
.stage_name
: Describes the stage of competition in which a game took place. See the API documentation for possible values. Accepts a character vector of length >= 1.