Следующее похоже на работу. Функция readHTMLTable
выдает предупреждения из-за присутствия нулевых символов в столбце Player
.
library(XML)
uri <- "https://www.basketball-reference.com/leagues/NBA_2019_totals.html"
data <- readHTMLTable(readLines(uri), which = 1, header = TRUE)
i <- grep("Player", data$Player, ignore.case = TRUE)
data <- data[-i, ]
cols <- c(1, 4, 6:ncol(data))
data[cols] <- lapply(data[cols], function(x) as.numeric(as.character(x)))
Проверьте, есть ли значения NA
. Это необходимо, потому что таблица в ссылке время от времени перезапускает заголовки, а строки символов смешиваются с числовыми записями. grep
выше предназначено для выявления таких случаев, но, возможно, есть и другие.
sapply(data, function(x) sum(is.na(x)))
Нет, все в порядке. Поэтому запишите набор данных в виде файла CSV.
write.csv(data, "nba.csv")