Определение языка R. Версия 3.5.2 (2018-12-20) DRAFT - страница 7
3.1.4. Операторы
R позволяет использование арифметических выражений с помощью операторов, подобных таковым из языка программирования C, например:
Используя круглые скобки, выражения можно сгруппировать с включением вызовов функций, и прямым присвоением переменным:
R содержит много операторов. Они перечислены в таблице ниже.
Минус, может быть унарным или бинарным
Плюс, может быть унарным или бинарным
Унарное нет
Тильда, используемая для формул модели, может быть или унарным или бинарным
Справка
Последовательность, двоичная (в формулах модели: взаимодействие)
Умножение бинарное
Деление бинарное
Возведение в степень бинарное
Специальные бинарные операторы, x могут быть заменены любым допустимым именем
Модуль бинарный
Целочисленное деление, бинарное
Матричное произведение, бинарное
Внешнее произведение, бинарное
Кронекерово умножение, бинарное
Соответствие оператора, бинарного (в формулах модели: гнездованое)
Меньше чем, бинарный
Больше чем, бинарный
Равно, бинарное
Больше чем или равно, бинарное
Меньше чем или равно, бинарное
И бинарное, векторизовано
И бинарное, не векторизовано
Или бинарное, векторизовано
Или бинарное, не векторизовано
Левое присвоение, бинарное
Правое присвоение, бинарное
Подмножество списка, бинарное
За исключением синтаксиса, нет никакой разницы между применением оператора и вызовом функции. Фактически, x + y может эквивалентно быть записано ‘+‘ (x, y). Заметим, что так как ‘+’ не является именем стандартной функции, то он должен быть заключен в кавычки.
R имеет дело со всем вектором данных за один раз, и большинство элементарных операторов и основных математических функций, например, log являются векторизованными (как обозначено в таблице выше). Например, добавление двух векторов одинаковой длины создаст вектор, содержащий поэлементные суммы, неявно индексируя циклическое выполнение по вектору. Также применяют как к другим операторам, таким ка – *, и / так и к структурам более высокой размерности. Заметим в особенности, что умножение двух матриц не производит обычное матричное произведение (оператор %*% существует с этой целью). Некоторые тонкости, касающиеся векторизованных операций, будут обсуждены в разделе 3.3 [Элементарные арифметические операции].
Для получения доступа к отдельным атомарным элементам вектора используется конструкция x [i]:
– 0.12526937 -0.27961154 -1.03718717 -0.08156527 1.37167090
Для доступа к компоненте списка обычно используется x$a или x [[i]].
Также можно использовать индексацию конструкций на правой стороне присвоения.
Подобно другим операторам, индексация, в действительности, выполняется функциями, и можно использовать « [» (x, 2) вместо x [2].
Операции индексации R содержат много расширенных функций, которые описаны далее в разделе 3.4 (Индексирование).
3.2. Управляющие структуры
Вычисление в R состоит в последовательной оценке операторов. Операторы, такие как x <-1:10 или mean (y), могут быть разделены или точкой с запятой или новой строкой. Всякий раз, когда средству анализа предоставляют синтаксически полный оператор, этот оператор оценивается и возвращается значение. Результат оценки оператора может упоминаться как значение оператора. Значение всегда присваиваться символу.