2 Stimmen

Einbeziehung mehrerer Bedingungen in die for-Schleife

Ich versuche, zwei Bedingungen als Teil einer for-Schleife anzugeben. Es scheint, dass die zweite Bedingung in der zweiten for-Schleife nicht berücksichtigt wird. Mein Code läuft folgendermaßen ab:

for (i in 1:nrow(mydata))          {
 for (j in 1:nrow(mydata) && j!=i )    {
       Statements....
 }
 Statements...
 }

Können Sie mir bitte sagen, ob dies die richtige Syntax in R ist? Danke!

8voto

csgillespie Punkte 56872

Um Ihre Frage zu beantworten, benötigen Sie:

for (i in 1:nrow(mydata)) {
   for (j in 1:nrow(mydata) ) {
       if(j != i) {
         Statements....
       }
    }
    Statements...
 }

Wahrscheinlich gibt es aber einen schöneren Weg, um das zu erreichen, was Sie vorhaben, aber ich bräuchte mehr Details.

4voto

Nick Sabbe Punkte 11524

Das könnte den Zweck erfüllen:

for (i in seq(nrow(mydata)))
{
 for (j in seq(nrow(mydata))[-i])
 {
       Statements....
 }
 Statements...
}

Sie könnten auch einen Blick werfen auf ?combn o ?expand.grid abhängig von Ihrem eigentlichen Ziel.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X