Подтвердить что ты не робот

R номеров от 1 до 100

Возможный дубликат:
Как сгенерировать вектор, содержащий числовую последовательность?

В R, как я могу получить список чисел от 1 до 100? Другие языки имеют функцию "диапазон" для этого. R диапазон делает что-то еще полностью.

> range(1,100)
[1]   1 100
4b9b3361

Ответ 1

Ваша ошибка ищет range, которая дает вам range вектора, например:

range(c(10, -5, 100))

дает

 -5 100

Вместо этого посмотрите на оператор :, чтобы дать последовательности (с размером шага одного):

1:100

или вы можете использовать функцию seq, чтобы иметь немного больше контроля. Например,

##Step size of 2
seq(1, 100, by=2)

или

##length.out: desired length of the sequence
seq(1, 100, length.out=5)

Ответ 2

Если вам нужна конструкция для быстрого примера воспроизведения, используйте оператор:.

Но если вы динамически создаете вектор/диапазон чисел, используйте вместо этого seq().

Скажем, вы создаете вектор/диапазон чисел от a до b с помощью a: b, и вы ожидаете, что это будет возрастающая серия. Затем, если b оценивается как меньше a, вы получите уменьшающуюся последовательность, но вы никогда не будете уведомлены об этом, и ваша программа продолжит выполнение с неправильным видом ввода.

В этом случае, если вы используете seq(), вы можете установить знак аргумента by, чтобы он соответствовал направлению вашей последовательности, и ошибка будет поднята, если они не совпадут. Например,

seq(a, b, -1)

вызовет ошибку при a = 2, b = 6, потому что кодер ожидает уменьшение последовательности.