align="right">
конструкция языка R
«special»
внутренняя функция, которая не вычисляет свои аргументы
«builtin»
внутренняя функция, которая вычисляет свои аргументы
«char» a «scalar»
строковый объект (только внутренний) ***
«logical»
вектор, содержащий логические значения
«integer»
вектор, содержащий целые значения
«double»
вектор, содержащий реальные значения
«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. Режим и режим хранения для разных типов векторов перечислены в следующей таблице.
Отдельные