Отдельно обрабатываются парные списки и одномерные массивы. Для объектов парных списков (pairlist) используется виртуальный атрибут имен; в действительности атрибут имен создается из тегов компонентов списка. Для одномерных массивов реально имена доступы из имен размерности (dimnames [[1]]).
2.2.2. Размерность
Атрибут размерности используется при реализации массивов. Контент массива сохраняется в векторе в порядке по столбцам, и атрибут размерности является вектором целых чисел, указывающие соответствующие пределы массива. R гарантирует, что длина вектора равна произведению длин размерностей. Длина одной или более размерностей может равняться нулю.
Вектор не является одномерным массивом, так как у последнего атрибут размерности длиною один, тогда как у вектора атрибут размерности отсутствует.
2.2.3. Имена размерности
Массивы могут назвать каждую размерность, отдельно используя атрибут имен размерности (dimnames), который является списком символьных векторов. У списка имен размерностей самостоятельно могут быть имена, которые затем используются для заголовков пределов при печати массива.
2.2.4. Классы
У R есть тщательно продуманная система классов, которая преимущественно управляется через атрибут класса. Этот атрибут – символьный вектор, содержащий список классов, от которых наследовался объект. Он формирует основание «универсальных методов» функциональности R.
К этому атрибуту пользователи могут получить доступ и управление фактически без ограничения. Отсутствует проверка, что объект фактически содержит компоненты, которые ожидают методы класса. Таким образом, изменение атрибута класса должно быть сделано с осторожностью, и при доступе к ним следует предпочесть определенные функции создания и преобразования.
2.2.5. Атрибуты временных рядов
Атрибут tsp используется для поддержания аргументов временного ряда: начало, конец и частота. Эта конструкция, главным образом, используется для обработки рядов с периодической подструктурой, например, месячные или квартальные данные.
2.2.6. Копирование атрибутов
Атрибуты копируются при изменении объекта, находящегося в комплексной области, по некоторым общим правилам (Becker, Chambers & Wilks, 1988, стр. 144—6).
Скалярные функции (те, которые работают поэлементно на векторе и чей выход подобен входу) должны сохранить атрибуты (кроме, возможно, класса).
Бинарные операции обычно копируют большинство атрибутов более длинного аргумента (и если они имеют одинаковую длину для обоих, то предпочитается значение для первого). Здесь «большинство» означает все кроме имен, размерностей и имен размерностей, которые установлены соответственно кодом для оператора.
Подмножество (кроме индексированных пустым индексом) обычно отбрасывает все атрибуты кроме имен, размерностей и имен размерностей, которые сброшены как соответствующие. С другой стороны подприсвоение обычно сохраняет атрибуты, даже если длина изменена. Приведение отбрасывает все атрибуты.
Метод по умолчанию для сортировки отбрасывает все атрибуты кроме имен, которые сортируются наряду с объектом.
2.3. Специальные составные объекты
2.3.1. Факторы
Факторы используются для описания элементов, у которых может быть конечное количество значений (пол, социальный класс, и т.д.). У фактора есть атрибут уровней и класс «фактор» (factor). Дополнительно, он также может содержать атрибут contrasts, который управляет параметризацией при использовании факторов в функциях моделирования.