R: Wie, zum Inkrementieren der inkrementierten variable in einer for-Schleife?

Ich versuche, manuell erhöhen die ich variable, wenn eine bestimmte Bedingung erfüllt ist.

for(i in 1:x){
   if(condition){
      i <- i + 2
      }
   }

Beim Debuggen, die (i<-i+2) line ist definitiv die laufen, aber ich habe immer nur den Wert 1 erhöht, statt 3. (+2 von der Linie und einer zusätzlichen +1 aus der auto-Inkrement)

Wie kann ich die Schrittweite während ich innerhalb der Schleife?

  • Warum nutzen Sie nicht while(i <= x) statt for(i in 1:x)?
  • Es ist extrem schlechte Praxis, um dies zu tun, selbst in Sprachen, die Sie unterstützen. repeat oder while ist eine bessere Redewendung, wenn Sie planen, ändern Sie die Schleife an mehreren stellen variabel. Sie Ihre Zukunft selbst, auch ich danke Ihnen ungemein, wenn Sie jemals wieder zu diesem code. Colin ' s code ist eine gute alternative für die Fälle wo Sie definitiv, Durchlaufen Sie die ganze Sequenz aber ändern müssen eine andere variable. Abweichende, vom Vertrag for idiom ist einfach keine gute Idee.
InformationsquelleAutor Benn | 2016-09-18
Schreibe einen Kommentar