ändert den Schleifenindex innerhalb der Schleife

7

Ich bin relativ neu in R. Ich übertrage einen Vektor in R mit for () loop. Aufgrund einer bestimmten Bedingung muss ich jedoch einige Werte im Vektor überspringen. Der erste Gedanke, der Ihnen in den Sinn kommt, ist, den Schleifenindex innerhalb der Schleife zu ändern. Ich habe es versucht, aber irgendwie ändert es es nicht. Es muss etwas geben, was man in R erreichen kann.

Vielen Dank im Voraus. Sami

    
Sami 06.05.2011, 14:57
quelle

4 Antworten

10

Sie können den Schleifenindex innerhalb einer for-Schleife ändern, aber dies hat keinen Einfluss auf die Ausführung der Schleife. Siehe den Detailbereich von ?"for" :

%Vor%

Verwenden Sie stattdessen eine while-Schleife und indexieren Sie sie manuell:

%Vor%     
Joshua Ulrich 06.05.2011, 15:08
quelle
8

Sehen Sie sich

an %Vor%

Der Befehl next überspringt den Rest der aktuellen Iteration der Schleife und beginnt mit dem nächsten. Das kann erreichen, was Sie wollen.

    
Greg Snow 06.05.2011 15:41
quelle
2

Ohne ein Beispiel ist es schwer zu sehen, was Sie tun möchten, aber Sie können immer eine if-Anweisung innerhalb einer for-Schleife verwenden:

%Vor%     
Sacha Epskamp 06.05.2011 15:07
quelle
2

In R werden lokale Änderungen in der Indexvariablen mit dem nächsten Durchlauf "korrigiert":

%Vor%

Da Sie ein Kriterium zum Überspringen haben, sollten Sie das Kriterium auf den Schleifenvektor innerhalb der Klammern anwenden. ZB:

%Vor%     
42- 06.05.2011 15:14
quelle

Tags und Links