Я пытаюсь очистить футбольные данные за неделю 1-17 и по позициям (QB, RB, WR, TE), и я успешно создаю функцию для очистки данных, но после того, как я создаю эшафот и пытаюсь добавьте третий столбец для вложения еженедельной страницы для каждой позиции, и я получаю ошибку внизу:
library(tidyverse)
library(rvest)
library(glue)
url <- "https://fantasy.nfl.com/research/scoringleaders?position=1&sort=pts&statCategory=stats&statSeason=2019&statType=weekStats&statWeek=1"
scrape_19 <- function(week, position) {
Sys.sleep(3)
cat(".")
url <- glue("https://fantasy.nfl.com/research/scoringleaders?position={position}&sort=pts&statCategory=stats&statSeason=2019&statType=weekStats&statWeek={week}")
read_html(url) %>%
html_nodes("table") %>%
html_table(header = T) %>%
simplify() %>%
first() %>%
setNames(paste0(colnames(.), as.character(.[1,]))) %>%
slice(-1) %>%
list()
}
weeks <- 1:17
positions <- c("QB","RB","WR","TE") #only qb rb wr te as all columns
match - will do k and dst separately later
scaffold <- tibble(week = weeks,
position = list(positions)) %>%
tidyr::unnest()
scaffold
#here's where i get an error and get stuck
tbl_data <- scaffold %>%
mutate(data = purrr::map2(week, position, ~scrape_19(.x, .y)[[1]]))
Error in names(object) <- nm : attempt to set an attribute on NULL
Мне кажется, что я так близко, но пока так далеко.