Я построил простую очистку, чтобы получить фрейм данных с результатами черновика НФЛ за 2020 г. Я собираюсь использовать этот код для отображения результатов за несколько лет, но по какой-то причине, когда я изменяю код для очистки одной страницы для любых других год после 2020, я получаю ошибку в нижней части.
library(tidyverse)
library(rvest)
library(httr)
library(curl)
Эта статья за 2020 год работает безупречно, хотя имена столбцов в строке 1, что не так уж важно для меня, так как я могу иметь дело с это позже (упомяну, хотя в случае, если это может иметь отношение к проблеме):
x <- "https://www.pro-football-reference.com/years/2020/draft.htm"
df <- read_html(curl(x, handle = curl::new_handle("useragent" = "Mozilla/5.0"))) %>%
html_nodes("table") %>%
html_table() %>%
as.data.frame()
ниже URL-адреса изменяется с 2020 на 2019, который является активной страницей с таблицей того же формата. По какой-то причине тот же вызов, что и выше, не работает:
x <- "https://www.pro-football-reference.com/years/2019/draft.htm"
df <- read_html(curl(x, handle = curl::new_handle("useragent" = "Mozilla/5.0"))) %>%
html_nodes("table") %>%
html_table() %>%
as.data.frame()
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 261, 2