Ошибка именования при вложении df для очистки нескольких страниц с помощью Rvest, Glue и Purrr - PullRequest
0 голосов
/ 15 февраля 2020

Я пытаюсь очистить футбольные данные за неделю 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

Мне кажется, что я так близко, но пока так далеко.

...