2014-09-03 2 views
0
for (i in range(1:4)) { 
    for (j in range(1:4)) { 
     print ("Processing...") 
    } 
} 

Простая, простая вложенная петля в результате этого выхода:Внутренний контур ведет себя странно в R

[1] "Processing..." 
[1] "Processing..." 
[1] "Processing..." 
[1] "Processing..." 

Это делает меня нулевой смысл. Фактическая программа немного сложна, я просто хотел узнать, что я делаю неправильно здесь?

+0

«' range' возвращает вектор, содержащий минимальное и максимальное из всех приведенных аргументов», так что вы на самом деле только итерация дважды в цикле. Вместо этого просто используйте 'for (i in 1: 4)' – voidHead

ответ

2

Вы можете получить последовательность, не используя range. Я думаю, вы можете запутать его с помощью функции Python. На странице справки:

«диапазон» возвращает вектор, содержащий минимум и максимум всех заданных аргументов.

Так что происходит то, что вы берете последовательности и возвращаете значения min и max (1 и 4 для каждого соответственно), а не перечисляете.

Попробуйте это:

for (i in 1:4) { 
    for (j in 1:4) { 
     print ("Processing...") 
    } 
} 
+0

Спасибо! Мне кажется, мне нужен кофе: -x –

Смежные вопросы