67 votes

R : pause pour la boucle

Pouvez-vous confirmer si la prochaine pause annule la boucle for interne ?

    for (out in 1:n_old){

     id_velho <- old_table_df$id[out]
      for (in in 1:n)
      {
       id_novo <- new_table_df$ID[in]
       if(id_velho==id_novo)
       {
        break
       }else 
       if(in == n)
       {
       sold_df <- rbind(sold_df,old_table_df[out,])
       }
      }
    }

106voto

Sacha Epskamp Points 14956

Eh bien, votre code n'est pas reproductible donc nous ne le saurons jamais avec certitude, mais c'est ce que help('break') dit :

pause éclate d'un pour, pendant ou répéter la boucle ; le contrôle est transféré à la première déclaration en dehors du boucle la plus interne.

Alors oui, break ne casse que la boucle actuelle. Vous pouvez également le voir en action avec par exemple:

 for (i in 1:10)
{
    for (j in 1:10)
    {
        for (k in 1:10)
        {
            cat(i," ",j," ",k,"\n")
            if (k ==5) break
        }   
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X