Anstatt zu überspringen, wenn eine Bedingung erfüllt ist, sollten Sie nicht überspringen, wenn eine Bedingung nicht erfüllt ist -for(n in 1:5){if(n!=3){cat(n)}}
MichaelChirico
Antworten:
157
for(n in1:5){if(n==3)next# skip 3rd iteration and go to next iteration
cat(n)}
Ordentlich. Zu OP: siehe ?Controlfür ähnliche Funktionen
MichaelChirico
Sehr nette Antwort in der Tat: Was ist, wenn ich etwas tun möchte, was for(n in 1:5) { if(n==3) print ('3rd iteration' ) next # skip 3rd iteration and go to next iteration cat(n) }bedeutet, dass ich drucken möchte, dass ich die dritte Iteration überspringen werde, weil wir in einigen Fällen aufzeichnen müssen, was wir übersprungen haben, um die Dinge nachvollziehbar zu halten.
Jason Goal
1
@ Jason Goal - Sie benötigen zusätzliche Klammern für die ifAussage, wie diesefor(n in 1:5) { if(n==3) { print ('3rd iteration' ) ; next } # skip 3rd iteration and go to next iteration cat(n) }
Alexey Ferapontov
Danke @ Alexey Ferapontov, jetzt sehe ich, warum der Fehler "Extra Bracket" bei meiner alten Version immer wieder auftaucht.
for(n in 1:5){if(n!=3){cat(n)}}
Antworten:
quelle
?Control
für ähnliche Funktionenfor(n in 1:5) { if(n==3) print ('3rd iteration' ) next # skip 3rd iteration and go to next iteration cat(n) }
bedeutet, dass ich drucken möchte, dass ich die dritte Iteration überspringen werde, weil wir in einigen Fällen aufzeichnen müssen, was wir übersprungen haben, um die Dinge nachvollziehbar zu halten.if
Aussage, wie diesefor(n in 1:5) { if(n==3) { print ('3rd iteration' ) ; next } # skip 3rd iteration and go to next iteration cat(n) }