我正在使用可能来自 purrr 的函数内 httr 的 POST 函数从 URL 向量下载多个 pdf,这样如果发生任何错误,我可以跳到下一个 URL。问题是我需要将 Sys.sleep 从一个下载添加到下一个下载。我知道如何使用 for 循环来做到这一点,但我不知道如何使用包 purrr 来做到这一点。例如,对于 for 循环,我会这样做:
df<-data.frame(id=1:4,url=c("url1","url2","url3","url4"))
for (i in 1:4){
POST(df$url[i],body=body,write_disk(paste0("df$id[i]",".pdf"))
Sys.sleep(1)
}
如何在 purrr 包中使用相当于 Sys.sleep 的东西?
最佳答案
我没有立即关注上面阿里斯塔尔的回答中发生的事情,所以只是为了完全明确,
您可以使用 ~{}
将多行表达式作为匿名函数传递给 map
,如下所示:
map(1:3, ~ {
Sys.sleep(10)
cat(.x)
.x
})
h/t Emil Hvitfeldt
关于r - sys.sleep 使用可能来自 purrr 包的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43127114/