Попытка собрать данные статистики отдельных игр по годам с сайта Basketball-reference.com для Майкла Джордана, но некоторые годы, в которые он играл, приходятся только на персонажа, а некоторые представляют собой смесь символов / ...

0
P5C768 27 Дек 2020 в 09:34

1 ответ

Лучший ответ

Объединение этих данных в один фрейм данных вызывает множество сложностей.

  1. Не все URL-адреса возвращают таблицу.
  2. В таблице есть повторяющиеся имена столбцов (R не любит это)
  3. Также есть столбцы без названия (R тоже не любит)

Я переименовал имена столбцов в col1, col2 и т. Д., Чтобы избежать проблем 2 и 3.

library(tidyverse)
library(rvest)
  
map_df(urls, ~{
            .x %>% 
               read_html() %>%
              html_nodes("#pgl_basic") %>% 
              html_table() -> tmp
  if(length(tmp)) {
    tmp <- tmp[[1]]
    setNames(tmp, paste0('col', seq_along(tmp))) %>%
      mutate(across(.fns = as.character))
    }
  else NULL
}) -> result
1
Ronak Shah 27 Дек 2020 в 07:18