Changelog
Source:NEWS.md
worldfootballR 0.6.6
-
fb_league_stats()
not returningopponent
table. (0.6.5.0001) #355 -
tm_player_bio()
not returning values in theplayer_valuation
,max_player_valuation
andmax_player_valuation_date
fields. Unfortunately,max_player_valuation
andmax_player_valuation_date
fields are no able to be scraped at this release (0.6.5.0002) #357 -
fb_league_stats()
not returningplayer
table when hidden on page load. (0.6.5.0003) #351 - Fix parameter mis-sepcification in fbref vignette. (0.6.5.0005) #385
-
fb_season_team_stats()
failing due to change in FBRef table name. (0.6.5.0007, 0.6.5.0008) #395 - In addressing the issue with
tm_player_injury_history()
in #375, the previously names columnclub
has been renamedclub_missed_games_for
to better represent that this column will contain the games the player missed games for, as previously this column could have been misunderstood to be who they were playing for when they were injured (0.6.5.0004) -
understat_match_players
andunderstat_match_stats
added. (0.6.5.0006) #386 -
fb_league_stats()
unreliable forteam_or_player = "player"
. (0.6.6) #395
worldfootballR 0.6.5
Bugs
-
fb_league_stats()
failing forplaying_time
. (0.6.4.0001) #314 -
fb_advanced_match_stats()
throwing errors when there were no stat tables available for matches (0.6.4.0002) #315 -
fb_player_match_logs()
failing for players who have played on multiple teams/leagues in the same season (0.6.4.0006) #327 -
fb_league_stats(team_or_player = "player")
returning duplicate player hrefs (0.6.4.0008) #331 -
fb_league_stats(team_or_player = "player")
returning wrong season’s data for Australian league (0.6.4.0009) #333 -
tm_player_market_values()
returing the player name and valuation on separate rows in theplayer_name
column [#338] (https://github.com/JaseZiv/worldfootballR/issues/338) and also returningNA
s for theplayer_age
column (0.6.4.0010) #336 -
fb_match_results()
returnsNA
goals due to inconsistenticonv()
behavior on different systems (0.6.4.0011) #326 -
tm_team_player_urls()
fixed after change to server-side loading (0.6.4.0013) #342 -
fb_teams_urls()
fixed to remove lower division teams being returned as a result of playoff promotion games (0.6.4.0014) #344 -
tm_player_bio()
column name and data structure change for player date of birth (0.6.4.0014)
Improvements
-
fb_player_season_stats()
now includes the ability to get a player’s national team stats [https://github.com/JaseZiv/worldfootballR/pull/310/files] (0.6.4.0002) -
fb_league_stats()
now correctly scrapes non domestic competitions [https://github.com/JaseZiv/worldfootballR/pull/325] (0.6.4.0003) -
fb_team_match_stats()
andunderstat_available_teams()
(0.6.4.0004) -
fb_match_shooting()
,fb_advanced_match_stats()
,fb_league_stats(team_or_player = "player")
gainPlayer_Href
column (0.6.4.0005) -
load_fb_advanced_stats()
andload_fb_match_summary()
added (0.6.4.0007) -
tm_get_player_absence()
now available to get a list of absences through suspension for players from transfermarkt
worldfootballR 0.6.4
Breaking changes
- All fotmob functions removed due to an update to fotmob terms of service prohibiting “the use of automatic services (robots, spiders, indexing etc.) as well as other methods for systematic or regular use.”
Bugs
-
fotmob_get_match_details()
failing due to change inteamColors
JSON element (0.6.3.0001) #271 -
fotmob_get_league_ids()
failing due to addition oflocalizedName
JSON element (0.6.3.0003) #275 -
fotmob_get_match_details()
failing (again) due to change inteamColors
JSON element (0.6.3.0003) -
fotmob_get_match_players()
failing due to addition of nested JSON elements instat
element (0.6.3.0004) #277 -
fb_season_team_stats()
failing to get the correct home/away league table on some unusual layout league pages (0.6.3.0006) #282 -
fotmob_get_match_players()
failing due mismatch inlist
anddata.frame
types for internalstats
column before unnesting (0.6.3.0007) #291 -
fotmob_get_match_stats()
failing due to Fotmob additional nesting (0.6.3.0008) #295 -
fotmob_get_match_players()
returning nested list elements forstat
columns (0.6.3.0010) #298 -
tm_player_injury_history()
returning empty value in theclub
value for when a player didn’t miss any days through injury #293 (0.6.3.0011) -
tm_team_player_urls()
returning wrong player URLs due to html changes (0.6.3.0012) #305 -
tm_player_injury_history()
returning empty value in theclub
value for when a player didn’t miss any days through injury #293 (0.6.3.0012) -
fotmob_get_match_players()
returning repeated stats and failing for NULL case (0.6.3.0011) #298
Improvements
-
fotmob_get_match_momentum()
added (0.6.2.0002) -
fotmob_get_league_tables()
returns form table (0.6.3.0005) #279 -
fotmob_get_match_stats()
: suppress error messages for seasons without data (0.6.3.0009) #297 -
tm_player_injury_history()
removes the player number from theplayer_name
variable #268 (0.6.3.0012)
worldfootballR 0.6.3
Breaking Changes
-
tm_player_transfer_history()
now contains an additional column in the returned dataframe (transfer_type
). This column differentiate between regular transfers, free transfers, loans and paid loans and transfers due to players returning from loan. -
fb_player_scouting_report()
now accepts an additional argument calledleague_comp_name
that allows the user to only return reports for specific leagues/comps. not passing anything to this results in all reports being returned
Bugs
-
fotmob_get_match_players()
was failing for upcoming matches due to a missingstats
column (0.6.2.1000) #226 -
tm_team_transfer_balances()
failing because of empty team boxes being collected (0.6.2.1000) #228 -
fotmob_get_league_matches()
was failing due to an extrapurrr::map_dfr
that is no longer needed (0.6.2.2000) #229 - All understat functions were failing due to a new cookie requirement (0.6.2.5000) #239
-
fb_player_scouting_report()
failing due to HTML changes on FBRef (0.6.2.7000) #242 -
fb_league_stats(team_or_player = "player", stat_type = "standard", ...)
failing since"standard"
should be translated to"stats"
(0.6.2.9100) #252 -
fotmob_get_match_details()
returned 0 rows instead of 1 when there are no shots available (0.6.2.9300) -
fotmob_get_league_matches()
changed to usematches.allMatches
JSON element (0.6.2.9400) #258 - All fotmob functions updated to use
httr::GET()
with appropriate post-processing of JSON instead ofjsonlite::fromJSON()
with raw URLs (0.6.3.0000) #262
Improvements
-
check_league_name()
removes repeated code. It checks that the name of the leagues is correct (0.6.2.3000) #232 -
LEAGUES
replaces if statement with list (0.6.2.3000) #232 -
tm_player_transfer_history()
added more information, added possibility to skip extraction of info that requires additional page load time. (0.6.2.4000) #235 -
fb_league_stats()
added. Gets season stats for all teams / players in a selected league from FBref in a single scrape. (0.6.2.6000) #243 -
fb_league_stats()
usesrvest::htm_table()
ifteam_or_player = "table"
(faster and more reliable), and only uses chromote ifteam_or_player = "player"
. (0.6.2.7100) - Use
quiet = FALSE
in allpurrr::possibly()
calls internally. Improve messaging for unexpected outcomes infotmob_get_matches_by_date()
andfotmob_get_match_info()
. (0.6.2.8000) #244 -
load_fb_match_shooting()
added. (0.6.2.9000) #249 -
fotmob_get_league_matches()
andfotmob_get_league_tables
gain aseason
parameter. (0.6.2.9200) #256 -
fotmob_get_season_stats()
internals improved (0.6.3.0000)
worldfootballR 0.6.2
CRAN release: 2022-11-26
Bugs
-
tm_player_market_values()
returningNAs
in thesquad
column -
tm_
functions were missing thecountry
andcomp_name
columns due to a change in the html on transfermarkt -
fb_match_shooting()
throwing errors for duplicate column names after switch from StatsBomb to Opta on FBRef -
fb_team_goal_logs
andfb_player_goal_logs
gave errors when columns were not present -
fotmob_get_season_stats
returning lexical error #201 -
fotmob_get_season_stats
internals changed to handle new data format -
tm_staff_job_history()
code changed due to HTML changes on transfermarkt.com - All FBRef functions calling internal function
.get_match_report_page()
were returning ‘Major League Soccer’ as the away team #216 -
fb_match_shooting()
was returning the wrong home or away designation in games where team names were inconsistent on the page #219 -
fb_match_summary()
,fb_match_shooting()
not returning returning Away Team name for international matches -
fb_match_lineups()
returning ‘Major League Soccer’ as the away team for international matches #221
Improvements
-
load_fb_big5_advanced_season_stats()
now loads FBRef data provided by Stats Perform (Opta) via Github releases -
load_match_results()
now loads FBRef data provided by Stats Perform (Opta) via Github releases -
load_match_comp_results()
now loads FBRef data provided by Stats Perform (Opta) via Github releases -
load_understat_league_shots()
now loads data from GitHub releases
worldfootballR 0.6.1
CRAN release: 2022-10-14
New functions
-
fb_team_goal_logs
- returns the team’s season goals for and goals against logs -
fb_player_goal_logs
- returns the player’s career goal and assist logs
Bugs
-
tm_squad_stats()
throwing differing number of rows error #187 -
.get_match_report_page()
internal function used in a number offb_
functions throwing errors for cup tie legs #174 -
.clean_table_names()
change to internal function that will include ’*_performance*’ to some column names infb_team_match_log_stats()
to address duplicated column names forstat_type = 'keeper'
#184
Breaking Changes
Some column names in output of fb_team_match_log_stats()
will now include *_Performance* at the end of the name. See #184 for more details
worldfootballR 0.6.0
CRAN release: 2022-08-24
New functions (and deprecated old ones)
-
fb_advanced_match_stats()
replacesget_advanced_match_stats
-
fb_match_lineups()
replacesget_match_lineups
-
fb_match_results()
replacesget_match_results
-
fb_match_report()
replacesget_match_report
-
fb_match_shooting()
replacesget_match_shooting
-
fb_match_summary()
replacesget_match_summary
-
fb_match_urls()
replacesget_match_urls
-
fb_season_team_stats()
replacesget_season_team_stats
-
fb_team_match_results()
replacesget_team_match_results
-
tm_player_market_values()
replacesget_player_market_values
-
tm_player_transfer_history
replacesplayer_transfer_history
- Improve fotmob tests by checking for column names instead of just number of columns.
-
load_fotmob_matches_by_date()
,load_fotmob_match_details()
: Functions to load pre stored match ids and match details. -
fotmob_get_match_details()
,fotmob_get_matches_by_date()
, andfotmob_get_match_players()
: Nested list columns are unnested by default. The lone exception isshotmap
in the output forfotmob_get_match_players()
-
fotmob_get_match_info()
added. (#166) -
fb_squad_wages()
designed to get player wage estimates from FBref via Capology
Bugs
-
load_fb_big5_advanced_season_stats()
returning zero row df when no season selected. Now rectified -
fotmob_get_season_stats()
: Fixed bug in.fotmob_get_single_season_stats()
where season ids with dashes, e.g."17709-Apertura"
for Liga MX 2022/2023 would error. -
fb_big5_advanced_season_stats()
throwing error for team stats. Also updated to only have one page load, hopefully minimising the risk of being blocked for excessive page loads
Elements changed on FBref somewhere in the same time v 0.5.11
was being released!
fb_advanced_match_stats()
fb_match_summary()
-
fb_big5_advanced_season_stats()
throwing error asMatches played
column now namesMP
#158 -
fotmob_get_league_tables()
: Fix unnesting to accommodate additional nesting and identical names at different levels. This bug affectedfotmob_get_season_stats()
, which callsfotmob_get_league_tables()
#155 -
fotmob_get_match_players()
returns stats as characters #150 -
fotmob_get_season_stats()
: Address logic for extracting season ids from season stats pages that was failing due to blank stats pages in the offseason for a league. -
get_match_lineups()
wasn’t returning the away team name #147 -
understat_league_season_shots()
would error when passing in a newseason_start_year
value for seasons that haven’t yet started but match fixtures are available on Understat #148
Improvements
FBref functions now pass user agent to headers under the hood
fotmob_get_match_team_stats()
added. The following functions now no longer return league/season metadata, including columnsLeague
,Gender
,Country
,Season
:
New functions (and deprecated old ones)
-
fb_advanced_match_stats()
replacesget_advanced_match_stats
-
fb_match_lineups()
replacesget_match_lineups
-
fb_match_results()
replacesget_match_results
-
fb_match_report()
replacesget_match_report
-
fb_match_shooting()
replacesget_match_shooting
-
fb_match_summary()
replacesget_match_summary
-
fb_match_urls()
replacesget_match_urls
-
fb_season_team_stats()
replacesget_season_team_stats
-
fb_team_match_results()
replacesget_team_match_results
-
tm_player_market_values()
replacesget_player_market_values
-
tm_player_transfer_history
replacesplayer_transfer_history
- Improve fotmob tests by checking for column names instead of just number of columns.
-
load_fotmob_matches_by_date()
,load_fotmob_match_details()
: Functions to load pre stored match ids and match details. -
fotmob_get_match_details()
,fotmob_get_matches_by_date()
, andfotmob_get_match_players()
: Nested list columns are unnested by default. The lone exception isshotmap
in the output forfotmob_get_match_players()
worldfootballR 0.5.7
CRAN release: 2022-07-11
Improvements
-
load_understat_league_shots()
Functions to load pre stored shooting locations for all matches played since the 2014/15 season for the five leagues available on the Understat site. -
load_match_comp_results()
Functions to load pre stored match results from domestic and international cups/competitions
Bugs
-
fotmob_get_season_stats()
no longer errors out when stats are queried for a league in its offseason #136 -
player_transfer_history()
no longer throwing errors for players without a club #137 - Increase sleep times in tests for FBref functions
worldfootballR 0.5.6
CRAN release: 2022-06-15
Improvements
To respect FBref’s rate limiting rules, all functions have now been updated to have a default pause of three seconds between page loads, up from two seconds which was originally requested.
Bugs
-
get_match_report()
andget_advanced_match_stats()
- now reporting the match date and away team name again. Additionally,Home_Goals
andAway_Goals
text strings now clean strings (tabs and line breaks removed) #128 -
fotmob_get_league_ids()
- now uses new endpoint for league ids (data in script element no longer has data). This function is internally used byfotmob_get_league_matches()
,fotmob_get_league_tables()
, andfotmob_get_season_stats()
, which would have been broken ifcached=FALSE
was specified. -
player_transfer_history()
no longer throwing errors for retired players and also addressed changed HTML on transfermarkt returning no data #127
worldfootballR 0.5.3
Improvements
Now starting to have load functions:
-
load_match_results()
- function to load pre stored data similar toget_match_results()
-
load_fb_big5_advanced_season_stats()
- function to load pre stored data similar tofb_big5_advanced_season_stats()
Bugs
-
tm_player_bio()
addresses where some data points don’t exist for some players and returns NAs -
understat_team_stats_breakdown()
now returns the correctseason_start_year
value #119 - tests and vignettes for fotmob stat functions changed to lowercase for second word in
stat_name
#118 -
player_transfer_history()
updated after html changes on Transfermarkt caused function to return zero row data frame #120 -
fotmob_get_league_matches()
andfotmob_get_league_tables()
after changes to names in JSON response (fixtures
->matches
,tableData
->table
) #121, #122 - Various fotmob functions affected by addition of
api/
in URL - New names to player stats outdated docs for
fotmob_get_season_stats()
worldfootballR 0.5.2
Improvements
-
fotmob_get_league_matches
andfotmob_get_league_tables
now check 2 places for the league endpoint since it changes occasionally. -
fotmob_get_match_players
gets 3 additional columns:match_id
,team_id
,team_name
. #105 -
fotmob_get_season_stats
gainsstat_league_name
and can now be used for all leagues since seasons are programmatically scraped -
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 output - Additional processing logic added such that
fotmob_get_league_tables
works properly for international tournaments. - The
stat_type
argument infotmob_get_seasons_stats
renamed tostat_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. - All FBref functions now contain a user defined pause (
time_pause
) before each page load to abide by their new rate limiting rules. See here. Default is set to2
seconds - Internal function
.get_each_season_results()
exported now
Bugs
-
tm_player_bio
returning player number instead of name and also NAs for valuation #109 -
fotmob_get_match_players
failed for non-domestic leagues because theteam
element does id not exist under thetable
element. Fix is to have more robust element for assigning team ids for players. -
fotmob_get_seasons_stats
failed for non-domestic leagues, even when settingcached=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.
worldfootballR 0.5.1
CRAN release: 2022-03-25
- Modifications based on CRAN feedback to updates for CRAN submission
worldfootballR 0.5.0
CRAN release: 2022-03-21
New functions
-
fb_team_match_log_stats()
- to get match logs of selected stat types for a team(s) for all matches played in a season -
fotmob_get_league_ids()
- to get Fotmob’s league ids, which can be specified as an alternative tocountry
andleague_name
infotmob_get_league_matches()
andfotmob_get_league_tables()
-
fotmob_get_season_stats()
- to get stats for one or more leagues, at team or player level -
fotmob_get_league_matches()
- to select matches for one or more leagues -
fotmob_get_league_tables()
- to get standings for one or more leagues -
fotmob_get_matches_by_date()
- to select matches occurring on specific day(s) -
fotmob_get_match_details()
- to get shooting locations for an individual match -
fotmob_get_match_players()
- extract player statistics from matches
Improvements
-
.clean_table_names()
(internal function) now able to clean tab names infb_team_match_log_stats()
- Added documentation for
fotmob_get_match_players
andfotmob_get_match_players()
- Added documentation for
Bugs
-
fotmob_get_league_matches
andfotmob_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 - Fixed multiple rows returned for single player in
stats
column returned infotmob_get_match_players()
- Fixed multiple rows returned for single player in
-
fotmob_get_league_matches
andfotmob_get_league_tables
updated to address new Fotmob league endpoint.
worldfootballR 0.4.10
CRAN release: 2022-02-08
Improvements
-
tm_squad_stats()
now returns team, league information and also player URLs
Bugs
-
fb_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 transfermarkt -
tm_league_team_urls()
was returning no team URLs for when there was no erroneous URLs in the initial scraped list -
get_match_results()
was returning additional (incorrect) transfermarkt player URLs #82
worldfootballR 0.4.9
CRAN release: 2022-01-16
New functions
-
tm_league_debutants()
to be able to extract league debutants -
tm_expiring_contracts()
to be able to extract expiring contracts for a selected league -
tm_league_injuries()
to get all current injuries from a selected league -
tm_player_injury_history()
to get the full player injury history on transfermarkt for a selected player(s)
Improvements
-
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
worldfootballR 0.4.7
New functions
-
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 statistics -
tm_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)
worldfootballR 0.4.6
New functions
-
fb_team_player_stats()
allows users to get all stats for a team(s) player season stats
Improvements
-
get_season_team_stats()
now returns an additional column for MLS calledConference
for whenstat_type = "league_table"
andstat_type = "league_table_home_away"
worldfootballR 0.4.5
CRAN release: 2021-11-25
Improvements
- CRAN Submission Feedback:
- Remove errant comment in examples for
fb_player_scouting_report()
- Remove errant comment in examples for
worldfootballR 0.4.4
Improvements
- CRAN Submission Feedback:
- Wrap Data sources in single quotes in DESCRIPTION file (title and/or description)
- Fixed
Warning: Unexecutable code in man/fb_player_scouting_report.Rd: pos_versus = "primary")
- Wrote
.pkg_message()
to allow users to easily suppress messages outputted to the console by settingoptions(mypackage.verbose = FALSE)
- Removed unnecessary examples
- Results of using
understat_
functions now return the correct full season details (ie forseason_start_year = 2019
, the resultingseason
column in the df will be ‘2019/2020’)
worldfootballR 0.4.3
Improvements
-
understat_team_players_stats()
gets season-long player stats for selected teams -
understat_team_stats_breakdown()
gets team season shooting data broken down into game states -
understat_team_meta()
created to allow for the extraction of team season URLs
worldfootballR 0.3.6
Improvements / Breaking Changes
-
fb_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 for
Bugs
- Fixed encoding issue on Windows OS for player names in
player_dictionary_mapping()
#56 - Fixed issue with
get_match_summary()
andget_match_lineups()
not returning results for games that were canceled/postponed #55 - Fixed
tm_player_bio()
throwing errors due to change in html on Transfermarkt #57 - Fixed
tm_player_bio()
throwing errors due to another change in html on Transfermarkt
worldfootballR 0.3.4
Improvements
-
tm_team_transfers()
now also includes player URLs from Transfermarkt to allow for joining with player market values #51
Bugs
-
get_player_market_values()
now returning the correct current (current_club
) and previous (previous_club
) clubs for players -
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
worldfootballR 0.3.3
New functions
-
player_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 URL
Improvements
Transfermarkt functions tm_team_transfers()
and player_transfer_history()
returning transfer prices now differentiate between unknown (returning NA
) to free transfers (returning 0
) #45 * fb_big5_advanced_season_stats()
now returns player URLs from FBref
Bugs
-
get_match_summary()
no longer throws errors where only one team (home or away) didn’t have a recorded event #46 -
fb_player_season_stats()
handles with print statement when stat types are not present for players #33
worldfootballR 0.3.2
Breaking Changes
- The
Team
in the data frame column returned byget_match_shooting()
no longer exists, withSquad
being elevated in to it’s place instead.
Bugs
-
get_player_market_values()
returning errors for seasons prior to current season #41 -
tm_team_transfers()
handles for missing values for some teams/leagues -
get_match_shooting()
handles for extra time periods -
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
worldfootballR 0.3.1
Improvements
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 forseason
Bugs
-
player_transfer_history()
returns results even when player hasn’t got a club to go to #37 -
tm_player_bio()
returning error when player valuations not available on transfermarkt.com -
get_match_shooting()
returning duplicated home shots data and not including away shots -
get_match_summary()
not returning all Event_Players where special characters used
worldfootballR 0.3.0
New functions
Functions 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
Improvements
-
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 expires -
player_transfer_history()
now includes remaining contract expiry data and remaining contract length (in days) #34 -
get_match_lineups()
now identifies diamond formations - Progress bars now included on all long running functions!
worldfootballR 0.2.9
Breaking Changes
- Most Fbref table names will have changed slightly, as they have been cleaned up to not include “__” and “+/-” has been replaced with “Plus_Minus”
- Column names
event_time
,event_type
,event_players
andscore_progression
changed forget_match_summary()
, and additional columns added
Improvements
-
fb_player_season_stats()
now able to accept multipleplayer_url
values -
get_match_summary()
now contains additional columns:-
Is_Pens
to indicate whether the event is from a penalty shootout -
Event_Half
to indicate which half the event occurred in (1, 2, 3, 4, 5), with 3 & 4 being extra time and 5 being penalty shootout -
Penalty_Number
for penalty shootouts, the penalty taking order
-
Bugs
- Fix issue #29 where
get_match_results()
not returning data for seasons before 2014-15 - Fix issue #30 for functions reading in seasons data from worldfootballR_data
- Fix issue #31 for
get_advanced_match_stats()
,get_match_report()
andget_match_summary()
not returning results for lower than tier 1 leagues - Fix 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
worldfootballR 0.2.8
New functions
- Added new fbref functions
-
fb_player_match_logs()
to get player match logs for a season and stat type (issue #26)
-
Improvements
-
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) - Removed the country abbreviation in the
Squad
column of the data frame returned usingfb_player_season_stats()
worldfootballR 0.2.7
New functions
- Added new fbref functions
-
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 season
-
Improvements
-
get_match_lineups()
now returns additional summary player performance data (shots, goals, cards, etc) to the original lineups output
Bugs
- Fixed issue where
get_season_player_stats()
not returning results for players who have only played in domestic comps (not cups, internationals, etc) (issue #22) - Fixed issue where
fb_big5_advanced_season_stats()
not returning results for ‘playing_time’ stat_type (issue #23)
worldfootballR 0.2.6
New functions
- Added new transfermarkt functions:
-
tm_team_transfer_balances()
to get team total transfer income and expenditure data -
tm_matchday_table()
to get league table after each specified matchday(s)
-
Bugs
- Fix duplicating league URLs in
fb_league_urls()
as a result of including “Big 5” competition issue #19 - Fix duplicating league URLs in various season-level functions as a result of including “Big 5” competition issue #20
- Fix duplicated results in some functions
worldfootballR 0.2.5
New functions
- Added
fb_big5_advanced_season_stats()
to get fbref season stats for all players or teams stats in the big five Euro leagues
worldfootballR 0.2.4
New functions
- Added fbref helper functions:
-
fb_league_urls()
to get fbref league URLs for a given country, gender, season, tier -
fb_teams_urls()
to get fbref team URLs for a given league_url -
fb_player_urls()
to get fbref player URLs for a given team_url
-
- Added a function to retrieve a player’s scouting report
fb_player_scouting_report()
- Added a function to get season player stats for a selected player and stay_type
fb_player_season_stats()
Improvements
- Additional leagues and cups now available in the following functions;
get_match_urls()
,get_match_results()
,get_season_team_stats()
worldfootballR 0.2.3
- Added
league_url
argument toget_player_market_values()
to allow extraction of non-standard (leagues not stored inworldfootballR_data
) leagues
worldfootballR 0.2.2
- Added player nationalities and positions to output of
get_player_market_values()
data output
worldfootballR 0.2.1
worldfootballR 0.0.1
- performance improvements, including limiting page reads where match report data included in output
- error handling
worldfootballR 0.0.0.9000
- First commit of package
- Added function to get the match results of a given tier-1 league season
get_match_results()
- Added function to extract match URLs for a given tier-1 league season
get_match_urls()
- Added function to get team season statistics
get_season_team_stats()
- Added function to get additional metadata for matches
get_match_report()
- Added function to get match lineups for selected match urls
get_match_lineups()
- Added function to get advanced match statistics for players and/or teams
get_advanced_match_statistics()
- Added function to get match events summary
get_match_summary()