Александр Фоменко - Определение языка R. Версия 3.5.2 (2018-12-20) DRAFT
- Название:Определение языка R. Версия 3.5.2 (2018-12-20) DRAFT
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:9785449660299
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Александр Фоменко - Определение языка R. Версия 3.5.2 (2018-12-20) DRAFT краткое содержание
Определение языка R. Версия 3.5.2 (2018-12-20) DRAFT - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
«complex»
вектор, содержащий комплексные значения
«character»
вектор, содержащий символьные значения
«…»
аргумент определенной переменной длины ***
«any»
специальный тип, который заменяет все типы: не существует объектов такого типа
«expression»
объект выражение
«list»
список
«bytecode»
код в байтах (только внутренне) ***
«externalptr»
объект внешнего указателя
«weakref»
объект слабой ссылки
«raw»
вектор, содержащий байты
«S4»
объект S4, который не является простым объектом
Пользователи не могут просто получить объекты, помеченные «*** ».
Функциональный режим дает информацию о режиме объекта в смысле Becker, Chambers & Wilks (1988), и является более совместимым с другими реализациями языка S . Наконец, функция storage.mode показывает режим хранения ее аргумента в смысле Беккера и др. (1988). Она обычно используется при вызове функции, записанной на другом языке, таких как C или ФОРТРАН для гарантирования, что объекты R имеют тип данных, который ожидает вызываемая подпрограмма. (На языке S векторы с целочисленными или действительными значениями имеют оба «числовой» режим, таким образом, их режимы хранения нужно отличать.)
> x <���– 1:3
> typeof (x)
[1] «integer»
> mode (x)
[1] «numeric»
> storage.mode (x) [1] «integer»
Объекты в R часто преобразовываются к различным типам во время вычислений. Также имеется много доступных функций для выполнения явного преобразования. При программировании на языке R тип объекта обычно не влияет на вычисления, однако, имея дело с внешними языками или операционной системой, часто необходимо гарантировать корректность типа объекта.
2.1. Основные типы
2.1.1. Векторы
Вектора рассматриваются как непрерывная последовательность ячеек, содержащих данные. Доступ к ячейкам осуществляется через операции индексирования, такими, как x [5]. Более детально рассмотрено в разделе 3.4 [индексирование].
R имеет шесть основных («атомарных») типов векторов: logical, integer, real, complex, string (or character) и raw . Режим и режим хранения для разных типов векторов перечислены в следующей таблице.

Отдельные числа, такие как 4.2, и строка, такая как « four point two », все еще векторы, длины 1; нет больше основных типов. Возможны (и полезны) векторы с нулевой длиной.
У векторов строки есть режим и режим хранения « character ». Отдельный элемент символьного вектора часто упоминается как символьная строка .
2.1.2. Списки
Списки («универсальные векторы») являются другим видом хранения данных. У списков есть элементы, каждый из которых может содержать любой тип объекта R, то есть элементы списка не обязательно имеют одинаковый тип. К элементам списка получают доступ посредством трех различных операций индексации. Они объяснены подробно в Разделе 3.4 [Индексирование].
Списки – векторы, и основные типы векторов упоминаются как атомарные векторы, где необходимо исключить списки.
2.1.3. Языковые объекты
Есть три типа объектов, которые составляют язык R, а именно: call (вызов), expressions (выражения) и name (имя). Так как у R есть объекты типа «выражение», то попытаемся избежать использования слова «выражение» в других контекстах. В определенных синтаксически корректных высказываниях выражения будут упоминаться как операторы .
У этих объектов есть режимы « call», «expression» и « name », соответственно.
Они могут быть созданы непосредственно из выражений, используя механизм кавычек и преобразованы «в» и «из» списков функциями as.call и as.list . Могут быть извлечены компоненты дерева синтаксического анализа, используя стандартные операции индексации.
2.1.4. Символьные объекты
Символы обращаются к объектам R. Обычно имя любого объекта R – символ. Символы могут быть созданы через функции as.name и кавычку.
Символы имеют режим « name », режим хранения « symbol » и тип « symbol ». Они могут быть преобразованы «в» и «из» символьных строк, используя as.character и as.name . Они естественно появляются как атомы проанализированных выражений, попробуй, например, as.list (quote (x + y)).
2.1.5. Выражения – объекты
В R можно иметь объекты типа» expression ». Выражение содержит одно или более предложений. Оператор – синтаксически корректный набор маркеров. Объекты выражения – специальные объекты языка, которые содержат проанализированные, но неоцененные операторы R. Основное различие состоит в том, что объект выражения может содержать несколько таких выражений. Другие более тонкие различия состоят в том, что объекты типа « expression» оцениваются лишь при явной передаче на вычисление, тогда как другие объекты языка могут быть оценены в некоторых неожиданных случаях.
Объект выражения ведет себя также как список, и к его компонентам можно получить доступ таким же образом как компонентам списка.
2.1.6 Объекты функции
В R функции – объекты и могут управляться почти таким же способом как любой другой объект. У функций (или более точно, обертка функции) есть три основных компонента: формальный список аргументов, тело и окружающая среда. Список аргументов – список разделенных запятой значений аргументов. Аргумент может быть символом, или конструкцией «symbol = default» , или специальным аргументом «…’. Вторая форма аргумента используется для указания значения по умолчанию для аргумента, которое будет использоваться при вызове функция без какого-либо значения, указанного для этого аргумента. Аргумент «…» является особенным и может содержать любое число аргументов. Он обычно используется, если число аргументов неизвестно или в случаях, где аргументы будут переданы другой функции.
Тело – синтаксически проанализированный оператор R, обычно набор операторов в фигурных скобках, но также может быть отдельный оператор, символ или даже константа.
Окружающая среда функции является средой, которая была активной при создании функции. Любой символ ограничен своей окружающей средой, связан и доступен функции. Комбинацию кода функции и привязки в ее окружающей среде называют «оберткой функции», термином из теории функционального программирования. Здесь обычно используется термин «функция», но используется «обертка», чтобы подчеркнуть значимость присоединенной среды.
Читать дальшеИнтервал:
Закладка: