sys.sleep使用函数可能来自purrr包

时间:2017-03-30 19:50:07

标签: r purrr

我正在使用来自函数httr的函数POST,可能来自purrr,从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等效的东西?

1 个答案:

答案 0 :(得分:1)

我没有立即关注alistaire上面的回答,所以只是为了完全明确,

您可以使用map将多行表达式~{}作为匿名函数传递,如:

map(1:3, ~ {
  Sys.sleep(10)
  cat(.x)
  .x
})

h / t Emil Hvitfeldt