Для получения доступа к отдельным атомарным элементам вектора используется конструкция 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), могут быть разделены или точкой с запятой или новой строкой. Всякий раз, когда средству анализа предоставляют синтаксически полный оператор, этот оператор оценивается и возвращается значение. Результат оценки оператора может упоминаться как значение оператора. Значение всегда присваиваться символу.
Для разделения операторов могут использоваться и точки с запятой, и новые строки. Точка с запятой всегда указывает на конец оператора, в то время как новая строка может указывать на конец оператора. Если текущий оператор синтаксически не полный, то новые строки просто игнорируются средством анализа. Если сеанс является интерактивным, запрос изменяется с ‘> ’ на ‘+».
Операторы могут группироваться использованием фигурных скобок ‘ {» и»}». Группу операторов иногда вызывают блоком. Отдельные операторы оцениваются при вводе новой строки в конце синтаксически полного оператора. Блоки не оцениваются, пока новая строка не вводится после закрывающей фигурной скобки. В оставшейся части этого раздела оператор ссылается на отдельный оператор или блок.
3.2.1. Оператор if
Оператор if/else условно оценивает два оператора. Существует условие, которое подлежит оценке, и если значение равно TRUE, то первый оператор оценивается; иначе оценивается второй оператор. Оператор if/else возвращает в качестве своего значения значение выбранного оператора. Формальный синтаксис таков:
Во-первых, оценивается statement1 для получения value1. Если value1 – логический вектор с первым элементом, равным TRUE, то оценивается statement2. Если первый элемент value1 равен FALSE, то оценивается statement3. Если value1 – числовой вектор, то оценивается statement3, когда первый элемент value1 равен нулю, а иначе оценивается statement2. Используется только первый элемент value1. Все другие элементы игнорируются. Если у value1 есть какой-либо тип кроме логического или числового вектора, то сигнализируется ошибка.
Можно использовать оператор if/else для исключения числовых проблем, таких как взятие логарифма отрицательного числа. Поскольку, оператор if/else
Конец ознакомительного фрагмента.