Александр Александрович Фоменко - Определение языка R. Версия 3.5.2 (2018-12-20) DRAFT стр 2.

Шрифт
Фон

2. Объекты

На каждом машинном языке переменные обеспечивают средство доступа к данным, хранящимся в памяти. R не обеспечивает прямой доступ к памяти компьютера, а скорее обеспечивает много специализированных структур данных, именуемых как объекты. Эти объекты упомянуты через символы или переменные. В R, однако, символы  самостоятельно объекты и могут управляться таким же образом как любой другой объект. Этим он отличается от многих других языков и имеет широко распространяющиеся следствия.

В этой главе даны предварительные описания различных структур данных, предоставленных в R. Более детальные обсуждения многих из них будут найдены в последующих главах. Функция определения typeof в R возвращает тип объекта R. Заметим, что в коде C, лежащем в основе R, все объекты являются указателями на структуру с определением типа SEXPREC; различные типы данных R представлены в C SEXPTYPE, который определяет, как используется информация в различных частях структуры.

Следующая таблица описывает возможное значение, возвращенное typeof, и их значение.

«NULL»

NULL

«symbol»

имя переменной

«pairlist»

парный объект (в основном внутренний)

«closure»

функция

«environment»

окружающая среда

«promise»

объект, используемый для отложенной оценки

«language»

конструкция языка 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 тип объекта обычно не влияет на вычисления, однако, имея дело с внешними языками или операционной системой, часто необходимо гарантировать корректность типа объекта.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

Если нет возможности читать онлайн, скачайте книгу файлом для электронной книжки и читайте офлайн.

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub ios.epub fb3