Вот вариант с использованием функции Tidyverse.Во-первых, мы можем определить пространство параметра, по которому мы хотим пройти
params <- list(
hand = NULL,
prp = "P",
year = 2019,
month = NULL,
pitch_type = c("FA", "SI"),
report_type = c("pfx", "outcome"),
lim = 0
)
Затем мы можем получить все URL с помощью
library(tidyverse) # tidyr for crossing(); purrr for pmap(), map_chr()
library(httr)
baseurl <- "https://legacy.baseballprospectus.com/pitchfx/leaderboards/index.php"
crossing(!!!params) %>%
pmap(list) %>%
map_chr( ~modify_url(baseurl, query=.x) )
, crossing()
позаботится о получении всехвозможные комбинации параметров.Затем pmap(list)
превращает каждую из строк таблицы в их собственный список (это то, что нам нужно передать в query=
параметр modify_url
. Затем, наконец, мы вызываем функцию генерации URL для каждого набора параметров и возвращаемстрока символов.