如何循环访问列表中的元素?

时间:2018-03-14 09:46:08

标签: r

我希望循环自动浏览日期列表,然后使用相应的元素访问URL。但是我的问题是我不知道如何告诉R URL中的date [i]是指日期列表中的第i个元素。例如,在Stata中,我可以通过将其标记为本地来做到这一点,R是否存在类似的东西?

下面你看到我的代码的简化版本。

library('chron')
dates <- seq.dates("01/01/00", "12/31/01", by = "months")

for(i in dates){
url <- 'http://www.spiegel.de/nachrichtenarchiv/artikel-dates[i].html'
.... }

最佳, 雷

1 个答案:

答案 0 :(得分:0)

我们可以尝试glue

res <- lapply(as.character(dates), function(i) 
         glue::glue('http://www.spiegel.de/nachrichtenarchiv/artikel-{i}.html'))

或者使用for循环,循环遍历“日期”序列,并将glue(或paste)元素循环在一起。

url <- vector('list', length(dates))
for(i in seq_along(dates)){
 url[[i]] <- glue::glue('http://www.spiegel.de/nachrichtenarchiv/artikel-{as.character(dates[i])}.html')
 }

注意:这可以在没有任何循环的情况下完成。在这里,我们假设需要

glue::glue('http://www.spiegel.de/nachrichtenarchiv/artikel-{dates}.html') 

sprintf

中的base R
sprintf('http://www.spiegel.de/nachrichtenarchiv/artikel-%s.html', dates)