Я пытаюсь разобрать данные из таблиц на baseball-reference.com. Я хочу сделать это для нескольких команд и нескольких лет. Код ниже используется для захвата каждой команды сезона сезона.R: Как сохранить список в списке?
library(XML)
#Will use for loop to fill in the rest of the link
link_base <- "http://www.baseball-reference.com/teams/"
#List of teams
teams <- c("CHC", "STL")
#Year
season <- 2000:2002
#End of link
end_link <- "-schedule-scores.shtml"
links <- list()
for(i in 1:length(teams)){
links[[i]] <- NaN*seq(length(teams))
for(j in 1:length(season)){
links[[i]][j] <- paste0(link_base, teams[i], "/", season[j], end_link)
}
}
Это приводит к:
> links
[[1]]
[1] "http://www.baseball-reference.com/teams/CHC/2000-schedule-scores.shtml"
[2] "http://www.baseball-reference.com/teams/CHC/2001-schedule-scores.shtml"
[3] "http://www.baseball-reference.com/teams/CHC/2002-schedule-scores.shtml"
[[2]]
[1] "http://www.baseball-reference.com/teams/STL/2000-schedule-scores.shtml"
[2] "http://www.baseball-reference.com/teams/STL/2001-schedule-scores.shtml"
[3] "http://www.baseball-reference.com/teams/STL/2002-schedule-scores.shtml"
Теперь для каждого элемента в списке, я хотел бы использовать readHTMLTable функцию, так что я могу разобрать информацию. Я пытался делать так:
a <- list()
for(i in 1:length(teams)){
a[[i]] <- NaN*seq(length(teams))
for(j in 1:length(season)){
a[[i]][j] <- readHTMLTable(links[[i]][j])
}
}
readHTMLTable возвращает список длины 6:
x <- readHTMLTable(links[[1]][1])
> length(x)
[1] 6
Я хотел бы 1-ый элемент списка а для хранения на выходе из readHTMLTable функции для " CHC ". Я бы хотел, чтобы 2-й элемент списка a сохранил вывод функции readHTMLTable для ссылок «STL». Таким образом, список a будет состоять из 2 элементов. Оба элемента будут состоять из 3 списков, состоящих из 6 элементов.