NEWS.md
fotmob_get_leage_matches()
and fotmob_get_league_tables()
after changes to names in JSON response (fixtures
-> matches
, tableData
-> table
) #121, #122
api/
in URLfotmob_get_season_stats()
player_transfer_history()
updated after html changes on Transfermarkt caused function to return zero row data frame #120
tm_player_bio()
addresses where some data points don’t exist for some players and returns NAsunderstat_team_stats_breakdown()
now resturns the correct season_start_year
value #119
stat_name
#118
time_pause
) before each page load to abide by their new rate limiting rules. See here. Default is set to 2
seconds.get_each_season_results()
exported nowfotmob_get_seasons_stats
failed for non-domestic leagues, even when setting cached=TRUE
. Fix was to add logic such that the latest season for a given league is found from the “See More” links on a generic stats page.fotmob_get_league_tables
works properly for international tournaments.stat_type
argument in fotmob_get_seasons_stats
renamed to stat_name
to reflect the different set of values that it takes. Valid values are now equivalent to the options that can be found on the stats page in the browser, e.g. the Liverpool player stats page. Previously the values came from a custom, pre-saved dataframe.tm_player_bio()
now also returns the player’s maximum valuation (max_player_valuation
) and the date that max valuation was recorded (max_player_valuation_date
). Note: there will now be an additional two columns to the outputfotmob_get_league_matches
and fotmob_get_league_tables
now check 2 places for the league endpoint since it changes occassionally.fotmob_get_match_players
gets 3 additional columns: match_id
, team_id
, team_name
. #105
fb_team_match_log_stats()
- to get match logs of selected stat types for a team(s) for all matches played in a seasonfotmob_get_league_ids()
- to get Fotmob’s league ids, which can be specified as an alternative to country
and league_name
in fotmob_get_league_matches()
and fotmob_get_league_tables()
fotmob_get_season_stats()
- to get stats for one or more leagues, at team or player levelfotmob_get_league_matches()
- to select matches for one or more leaguesfotmob_get_league_tables()
- to get standings for one or more leaguesfotmob_get_matches_by_date()
- to select matches occurring on specific day(s)fotmob_get_match_details()
- to get shooting locations for an individual matchfotmob_get_match_players()
- extract player statistics from matches.clean_table_names()
(internal function) now able to clean tab names in fb_team_match_log_stats()
fotmob_get_match_players
and fotmob_get_match_players()
fotmob_get_league_matches
and fotmob_get_league_tables
updated to address new Fotmob league endpoint.fotmob_get_match_players()
no longer returning the identical home and away team IDs #93
stats
column returned in fotmob_get_match_players()
fotmob_get_league_matches
and fotmob_get_league_tables
updated to address new Fotmob league endpoint.tm_squad_stats()
now returns team, league information and also player URLsfb_player_scouting_report()
was returning incorrect position comparisons in some cases #85
get_player_market_values()
was returning no team URLs for when there was no erroneous URLs in the initial scraped list, and some columns not returning values due to HTML changes on transfermarkttm_league_team_urls()
was returning no team URLs for when there was no erroneous URLs in the initial scraped listget_match_results()
was returning additional (incorrect) transfermarkt player URLs #82
tm_league_debutants()
to be able to extract league debutantstm_expiring_contracts()
to be able to extract expiring contracts for a selected leaguetm_league_injuries()
to get all current injuries from a selected leaguetm_player_injury_history()
to get the full player injury history on transfermarkt for a selected player(s)fb_player_scouting_report()
had an issue with player listed as three positions #80
get_match_lineups()
now also returns match and player URLs #78
get_match_results()
now includes match URLs #78
get_match_report()
now includes yellow and red card counts #2
tm_team_staff_urls()
allows users to extract URLs of selected team staff members based on staff role (ie ‘Manager’, ‘Assistant Manager’, etc)tm_team_staff_history()
allows users to get all people who have held the selected role in a team’s history and some summary statisticstm_staff_job_history()
allows users to get all roles a selected staff member(s) has held and performance data in that role (wins, draws, losses, etc)fb_team_player_stats()
allows users to get all stats for a team(s) player season statsget_season_team_stats()
now returns an additional column for MLS called Conference
for when stat_type = "league_table"
and stat_type = "league_table_home_away"
fb_player_scouting_report()
Warning: Unexecutable code in man/fb_player_scouting_report.Rd: pos_versus = "primary")
.pkg_message()
to allow users to easily suppress messages outputted to the console by setting options(mypackage.verbose = FALSE)
understat_
functions now return the correct full season details (ie for season_start_year = 2019
, the resulting season
column in the df will be ‘2019/2020’)understat_team_players_stats()
gets season-long player stats for selected teamsunderstat_team_stats_breakdown()
gets team season shooting data broken down into game statesunderstat_team_meta()
created to allow for the extraction of team season URLsfb_player_scouting_report()
now contains an additional column in the output (scouting_period
) that allows the user to filter on the period they need the scouting report forplayer_dictionary_mapping()
#56
get_match_summary()
and get_match_lineups()
not returning results for games that were canceled/postponed #55
tm_team_transfers()
now also includes player URLs from Transfermarkt to allow for joining with player market values #51
fb_player_season_stats()
was not returning results for some players even though stats were available on FBref #52
tm_player_bio()
now returns player market valuations #50
get_player_market_values()
now returning the correct current (current_club
) and previous (previous_club
) clubs for playersplayer_dictionary_mapping()
returns a data frame of players (names and FBref URLs) who have played in the top 5 Euro leagues and their respective Transfermarkt URLfb_player_season_stats()
handles with print statement when stat types are not present for players #33
Transfermarkt functions tm_team_transfers()
and player_transfer_history()
returning transfer prices now differentiate between unknown (returning NA
) to free transfers (returning 0
) #45
get_match_summary()
no longer throws errors where only one team (home or away) didn’t have a recorded event #46
Team
in the data frame column returned by get_match_shooting()
no longer exists, with Squad
being elevated in to it’s place instead.fb_player_scouting_report()
now returns results for Goalkeepers also #42
get_match_shooting()
now handles for when only one team (home or away) record any shots #43
The following functions now return results for international matches fro FBref:
get_match_urls()
get_match_results()
get_match_report()
get_match_summary()
get_match_lineups()
get_match_shooting()
get_advanced_match_stats()
The following transfermarkt function has been improved:
tm_team_transfers()
now includes a column for season
get_match_shooting()
returning duplicated home shots data and not including away shotsget_match_summary()
not returning all Event_Players where special characters usedFunctions to extract understat.com data now available: * Shots locations data: * understat_league_season_shots()
to get shot location data for all matches in a league season * understat_team_season_shots()
to get shot locations for and against a select team * understat_match_shots()
to get shot locations for a selected match * understat_player_shots()
to get all available shot locations for games played by a selected player * understat_league_match_results()
to get results and match data for all matches played in a season
New transfermarkt.com functions: * tm_player_bio()
to get player bios from transfermarkt * tm_team_transfers()
to get all arrival and departures for a team season * tm_squad_stats()
to get basic squad stats for teams for a season * Helper functions: * tm_league_team_urls()
to get teams URLs for a league season * tm_team_player_urls()
to get player URLs for a given team
get_player_market_values()
from transfermarkt now includes player heights, their preferred foot, when they joined the club and where from and when their contract expiresplayer_transfer_history()
now includes remaining contract expiry data and remaining contract length (in days) #34
get_match_lineups()
now identifies diamond formationsevent_time
, event_type
, event_players
and score_progression
changed for get_match_summary()
, and additional columns addedfb_player_season_stats()
now able to accept multiple player_url
valuesget_match_summary()
now contains additional columns:Is_Pens
to indicate whether the event is from a penalty shootoutEvent_Half
to indicate which half the event occurred in (1, 2, 3, 4, 5), with 3 & 4 being extra time and 5 being penalty shootoutPenalty_Number
for penalty shootouts, the penalty taking orderFix issue #32 for get_match_summary()
where event times causing issues in extra time of match half (ie 45+3 as opposed to 46th minute)
Fix issue #33 for fb_player_season_stats()
where players not having played a game were previously causing errors
get_advanced_match_stats()
, get_match_report()
and get_match_summary()
not returning results for lower than tier 1 leaguesfb_player_match_logs()
to get player match logs for a season and stat type (issue #26)fb_player_scouting_report()
now returns a players full scouting report against peers in Men’s Big 5 Leagues and European Competition over the last 365 days (issue 27)Squad
column of the data frame returned using fb_player_season_stats()
get_match_shooting()
to get shot and shot creation specific details (issue #3)get_team_match_results()
to get match results for a given team or teams in a seasonget_match_lineups()
now returns additional summary player performance data (shots, goals, cards, etc) to the original lineups outputget_season_player_stats()
not returning results for players who have only played in domestic comps (not cups, internationals, etc) (issue #22)fb_big5_advanced_season_stats()
not returning results for ‘playing_time’ stat_type (issue #23)tm_team_transfer_balances()
to get team total transfer income and expenditure datatm_matchday_table()
to get league table after each specified matchday(s)Fix duplicating league URLs in various season-level functions as a result of including “Big 5” competition issue #20
Fix duplicating league URLs in fb_league_urls()
as a result of including “Big 5” competition issue #19
fb_big5_advanced_season_stats()
to get fbref season stats for all players or teams stats in the big five Euro leaguesfb_league_urls()
to get fbref league URLs for a given country, gender, season, tierfb_teams_urls()
to get fbref team URLs for a given league_urlfb_player_urls()
to get fbref player URLs for a given team_urlfb_player_scouting_report()
fb_player_season_stats()
get_match_urls()
, get_match_results()
, get_season_team_stats()
league_url
argument to get_player_market_values()
to allow extraction of non-standard (leagues not stored in worldfootballR_data
) leaguesget_player_market_values()
data outputget_match_results()
get_match_urls()
get_season_team_stats()
get_match_report()
get_match_lineups()
get_advanced_match_statistics()
get_match_summary()