Очистка данных в R

#r #web-scraping #rvest #xml2

#r #очистка веб-страниц #rvest #xml2

Вопрос:

В настоящее время я пытаюсь очистить таблицу стандартной статистики игрока в R, но у меня возникли проблемы с получением нужной таблицы.

 html_link <- "https://fbref.com/en/comps/9/stats/Premier-League-Stats#stats_standard::1"
"https://fbref.com/en/comps/9/stats/Premier-League-Stats#stats_standard::1"
df <- html_link %>% 
  xml2::read_html() %>%
  rvest::html_nodes("table") %>% 
  rvest::html_table(fill = T)
 

Ссылка предоставляет ссылку для копирования в буфер обмена, поэтому я пытался использовать эту ссылку и очистить данные, но, похоже, я не получаю правильных результатов. Кто-нибудь знает, как сделать это автоматически в R без необходимости загружать файл CSV?

Спасибо.

Ответ №1:

Вы можете использовать «встроенную ссылку» в таблицу…

 url <- "https://widgets.sports-reference.com/wg.fcgi?css=1amp;site=fbamp;url=/en/comps/9/stats/Premier-League-Statsamp;div=div_stats_standard"

f <- url %>% 
     xml2::read_html() %>%
     rvest::html_nodes('table') %>%
     html_table() %>%
     .[[1]]

> head(f)
                                                               
1 Rk              Player  Nation Pos          Squad    Age Born
2  1 Patrick van Aanholt  nl NED  DF Crystal Palace 30-170 1990
3  2       Tammy Abraham eng ENG  FW        Chelsea 23-136 1997
4  3           Che Adams eng ENG  FW    Southampton 24-217 1996
5  4    Tosin Adarabioyo eng ENG  DF         Fulham 23-144 1997
6  5             Adrián  es ESP  GK      Liverpool 34-043 1987
  Playing Time Playing Time Playing Time Playing Time Performance
1           MP       Starts          Min          90s         Gls
2           14           13        1,144         12.7           0
3           18           10          957         10.6           6
4           22           20        1,735         19.3           4
5           19           19        1,710         19.0           0
6            2            2          180          2.0           0
  Performance Performance Performance Performance Performance
1         Ast        G-PK          PK       PKatt        CrdY
2           1           0           0           0           1
3           1           6           0           0           0
4           4           4           0           0           1
5           0           0           0           0           1
6           0           0           0           0           0
  Performance Per 90 Minutes Per 90 Minutes Per 90 Minutes
1        CrdR            Gls            Ast            G A
2           0           0.00           0.08           0.08
3           0           0.56           0.09           0.66
4           0           0.21           0.21           0.41
5           0           0.00           0.00           0.00
6           0           0.00           0.00           0.00
  Per 90 Minutes Per 90 Minutes Expected Expected Expected Expected
1           G-PK         G A-PK       xG     npxG       xA  npxG xA
2           0.00           0.08      0.8      0.8      0.8      1.6
3           0.56           0.66      5.5      5.5      0.9      6.3
4           0.21           0.41      5.1      5.1      4.3      9.4
5           0.00           0.00      0.8      0.8      0.1      0.9
6           0.00           0.00      0.0      0.0      0.0      0.0
  Per 90 Minutes Per 90 Minutes Per 90 Minutes Per 90 Minutes
1             xG             xA          xG xA           npxG
2           0.06           0.06           0.12           0.06
3           0.51           0.08           0.60           0.51
4           0.26           0.22           0.49           0.26
5           0.04           0.01           0.05           0.04
6           0.00           0.00           0.00           0.00
  Per 90 Minutes        
1        npxG xA Matches
2           0.12 Matches
3           0.60 Matches
4           0.49 Matches
5           0.05 Matches
6           0.00 Matches