【发布时间】:2021-09-02 19:48:31
【问题描述】:
首先,这是dput的数据:
df <- structure(list(Id = 111323317:111323326, TypeId = c(37L,
37L, 37L, 37L, 37L, 37L, 37L, 37L, 37L, 37L), PlayerId = c(458228L,
458228L, 458228L, 458228L, 458228L, 458228L, 458228L, 458228L,
458228L, 458228L), TeamId = c(1866215L, 1866214L, 1866215L,
1866215L, 1866215L, 1866215L, 1866214L, 1866215L, 1866215L, 1866215L
)), row.names = c(NA, -10L), class = "data.frame")
接下来我们把数据变成自己的值:
Ids <- df$Id
TypeIds <- df$TypeId
PlayerIds <- df$PlayerId
TeamIds <- df$TeamId
接下来,我们为部分 API 调用创建数据主体,并引用上述值:
data_players = paste0(' { "Context": { "TypeId": "', TypeIds, '" }, "responses": [ { "type": "Players", "PlayerId": "', PlayerIds, '", "TeamId": "', TeamIds, '" } ] } ')
然后我们使用Ids创建一串要调用的URL:
api_urls <- sprintf('https://api.sports.com/players/%s/stats', Ids)
最后,我们有 API 调用本身(这不是实际的 URL,由于显而易见的原因我不能分享):
get_data <- POST(api_urls[1], add_headers(.headers=headers_upsert), body = data_players)
显然,上面的示例将只使用api_urls 字符串的第一个值。我要做的是创建一个map 函数,该函数将使用data_players 和api_urls 中的数据进行迭代。
最有效的方法是什么?
【问题讨论】:
-
如果我理解您的问题,您正在寻找
purrr::map2_系列函数。 -
你能告诉我你的意思吗?喜欢围绕我的数据/问题进行情境化?这就是我最好的学习方式
-
我在下面做的:)