Введение в R версия 3.5.2 (2018-12-20). Заметки по R: среда программирования для анализа данных и графики. У. Н. Венэбльз

Читать онлайн книгу.

Введение в R версия 3.5.2 (2018-12-20). Заметки по R: среда программирования для анализа данных и графики - У. Н. Венэбльз


Скачать книгу
align="center">

      2.1. Вектора и присваивания

      R оперирует именованными структурами данных (data structures). Простейшая такая структура – это числовой вектор, который является отдельным объектом, состоящим из упорядоченного набора чисел. Чтобы создать вектор с именем x, скажем, состоящий из пяти чисел, а именно, 10.4, 5.6, 3.1, 6.4 и 21.7, используют команду R:

      > x <– c (10.4, 5.6, 3.1, 6.4, 21.7)

      Это – оператор присваивания, использующий функцию c (), которая в этом контексте может взять произвольное число аргументов вектора и значением которой является вектор, полученный путем объединения аргументов конец с концом.

      С другими параметрами кроме типов векторов, таких как параметры режима списка, действие c () довольно отличается. Посмотрите Раздел 6.2.1 [Конкатенация списков].

      Отдельное число, входящее в выражении, трактуется как вектор единичной длины.

      Учтите, что оператор присваивания (» <-»), который состоит этих двух символов ‘ <’ («меньше чем») и ‘-’ («минус»), выполняется однонаправленно и «указывает» на объект, получающий значение выражения. В большинстве случаев можно использовать оператор ‘=’ в качестве альтернативы.

      Также можно сделать присвоение, используя функцию assign (). Эквивалентный выше приведенному способ присвоения выглядит как:

      > assign («x», c (10.4, 5.6, 3.1, 6.4, 21.7))

      Обычный оператор <– может считаться синтаксическим сокращением для него.

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

      > c (10.4, 5.6, 3.1, 6.4, 21.7) -> x

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

      > 1/x

      то обратные величины пяти значений были бы напечатаны в терминале (а значение x, конечно, не изменилось).

      В действительности все еще доступно .Last.value до выпполнения любого другого оператора.

      Дальнейшее присваивание:

      > y <-c (x, 0, x)

      создаст вектор y с 11 элементами, состоящими из двух копий x и нулем между ними.

      2.2. Векторная арифметика

      Векторы могут использоваться в арифметических выражениях, и в этом случае операции выполняются поэлементно. Векторы, используемы в одном выражении, не обязательно должны иметь одинаковую длину. Если длины отличаются, то результат выражения – это вектор с длиной самого длинного вектора, который находится в выражении. Короткие векторы в выражении используются повторно столько раз, сколько это необходимо (возможно не целое число раз), до тех пор, пока они не совпадут с длиной самого длинного вектора. В частности константа просто повторяется. Так, учитывая предыдущие присваивания, команда:

      > v <-2*x + y +1

      создаст новый вектор v длины 11, составленный путем сложения элемент за элементом 2*x повторенного 2.2 раза, y повторяется только раз, и 1 повторяется 11 раз.

      Элементарными


Скачать книгу