重复一个for循环

时间:2016-03-29 15:47:39

标签: r loops for-loop repeat

我只是在一个小数据集中测试循环。在这种情况下,循环将只重复一次,直到我的条件(标题和url具有相同的长度)mets。

linhas_title <- c(5, 19, 48, 90, 135, 179, 424, 479, 532)
linhas_url <- c(14, 43, 85, 130, 175, 474, 527, 566)

for(i in 1:(length(linhas_title)-1)){
  print(paste("Titulo:",i+1, "e", "Url: ", i))

  if(linhas_title[i+1] - linhas_url[i] < 0) {
    print(paste("Titulo", i, "excluido"))
    linhas_title <- linhas_title[-i]
    break 
  } else print(paste("Titulos e url pareados!"))
}

我不想打破循环,但重启它。我尝试了并重复功能但没有成功。

1 个答案:

答案 0 :(得分:1)

如果我正确地读到你要在if语句导致break时重新启动整个循环,我认为你需要创建一个“包装“:

linhas_title <- c(5, 19, 48, 90, 135, 179, 424, 479, 532)
linhas_url <- c(14, 43, 85, 130, 175, 474, 527, 566)

runAgain = TRUE

while(runAgain)
{
  runAgain = FALSE

  for(i in 1:(length(linhas_title)-1))
  {
    print(paste("Titulo:",i+1, "e", "Url: ", i))

    if(linhas_title[i+1] - linhas_url[i] < 0) 
    {
      print(paste("Titulo", i, "excluido"))
      linhas_title <- linhas_title[-i]
      runAgain = TRUE
      break 
    } 
    else 
      print(paste("Titulos e url pareados!"))
  }

}