Включение нескольких условий в цикл for - PullRequest
1 голос
/ 13 октября 2011

Я пытаюсь указать два условия как часть цикла for.Похоже, второе условие во втором цикле for не рассматривается.Мой код работает так:

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

Не могли бы вы сказать мне, если это правильный синтаксис в R?Спасибо!

Ответы [ 2 ]

7 голосов
/ 13 октября 2011

Чтобы ответить на ваш вопрос, вам необходимо:

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

Тем не менее, вероятно, есть более хороший способ достижения того, что вы хотите сделать, но мне понадобится больше деталей.

4 голосов
/ 13 октября 2011

Это может сделать трюк:

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

Вы также можете взглянуть на ?combn или ?expand.grid в зависимости от вашей реальной цели.

...