Определение языка R. Версия 3.5.2 (2018-12-20) DRAFT - страница 6
Пользователи могут создать выражения и вызвать их оценку.
3.1. Простая оценка
3.1.1. Константы
Любое число, введенное непосредственно в запросе, является константой и оценивается.
Возможно, неожиданно, но число, возвращенное из выражения 1, является действительным. В большинстве случаев разница между целым числом и действительным значением будет незначительна, поскольку R делает округление справа при использовании чисел. Однако может возникнуть необходимость создания целочисленного значения для константы, что можно сделать, вызывая функцию as.integer или используя различные другие методы. Но возможно самый простой подход состоит в сопровождении константы символьным суффиксом «L». Например, для создания целочисленного значения 1 можно использовать:
Можно использовать суффикс «L», чтобы квалифицировать любое число с намерением создания из него явно целое число. Таким образом, «0x10L» создает целочисленное значение 16 из шестнадцатеричного представления. Константа 1e3L дает 1000 как целое число, а не числовое значение и эквивалентна 1000L. Заметим, что «L» обработан как квалификация аргумента 1e3 а не 3. Если квалифицируем значение с «L», которое не является целочисленным значением, например, 1e-3L, то получаем предупреждение, и создается действительное значение. Также получаем предупреждение при наличии ненужной десятичной точки в числе, например, 1.L.
Получим синтаксическую ошибку при использовании «L» с комплексными числами, например, 12iL дает ошибку.
Константы являются довольно скучными, и не будем больше тратить слова.
3.1.2. Просмотр символов
При создании новой переменной у нее должно быть имя, что дает возможность на нее сослаться, и у нее обычно есть значение. Само имя – символ. При оценке символа возвращается его значение. Позже объясним подробно, как определить значение, которое имеет символ.
В этом небольшом примере y – символ и его значение 4. Символ также является объектом R, но редко возникает необходимость иметь дело с символами непосредственно, кроме случаев «Программирование на языке» (Глава 6 [Вычисления на языке], страница 32).
3.1.3. Вызов функции
Большинство вычислений, выполненных в R, включает оценку функций, называемых как вызов функции. Функции вызываются по имени со списком аргументов, разделенных запятыми.
В этом примере функция mean (средняя) была вызвана с одним аргументом, вектором целых чисел от 1 до 10.
R содержит огромное число функций с различными результатами. Большинство используется для получения результата, который является объектом R, но некоторые используются для вспомогательных целей, например, функции печати и рисования.
Вызовы функции могут тегировать (или называть) аргументы, как в plot (x, y, pch = 3), аргументы без тегов известны как позиционные, так как функция должна отличить их значение от их последовательных позиций среди аргументов вызова, например, что x обозначает переменную абсциссы, а y ординату. Использование тегов/имен – очевидное удобство для функций с большим количеством дополнительных аргументов.
Специальный тип вызовов функции может появиться на левой стороне оператора присваивания как в:
В действительности вызывается функция class <– с исходным объектом и правой стороной. Функция выполняет модификацию объекта и возвращает результат, который затем сохраняется обратно в исходной переменной. По крайней мере, концептуально так должно быть. Прилагаются дополнительные усилия для исключения ненужного дублирования данных.