4.3. Упорядоченные факторы
Уровни факторов сохраняются в алфавитном порядке, или в том порядке, в котором они указывались к фактору, если они указывались явно.
Иногда у уровней будет естественное упорядочивание, которое записали и хотели использовать в статистическом анализе. Функция ordered () создает такие упорядоченные факторы, но, в противном, она идентична factor. В большинстве целей единственной разницей между упорядоченными и неупорядоченными факторами является то, что прежде напечатанное для упорядоченных уровней отличается от генерируемых для них в подгонке линейных моделей.
5. Массивы и матрицы
5.1. Массивы
Массив (array) можно рассмотреть как множество, приписанное к набору входов данных, например числовых. R позволяет простые средства для создания и обработки массивов, и их особый случай – матриц.
Размерностью вектора является вектор неотрицательных целых чисел. Если его длина равна k, то массив является k-мерным, например, матрица является 2-мерным массивом. Размерности индексированы от единицы до значения, данного в векторе размерности.
Вектор может использоваться в R в качестве массива, только если у него имеется вектор размерности как его атрибут dim. Предположим, например, z – вектор из 1500 элементов.
дает ему атрибут dim, который позволяет его обрабатывать как массив 3-на-5-на-100.
Доступны другие функции, такие как matrix () и array (), для более простых и более естественно выглядящих присвоений, как увидим в Разделе 5.4 [Функция array ()].
Значение в векторе данных дает значение в массиве в том же самом порядке, как и в ФОРТРАНЕ, который является «столбцом главного порядка» с первым нижним индексом, изменяющимся быстрее, и последним самым медленным нижним индексом.
Например, если вектор размерности для массива, скажем a, является c (3,4,2) то есть 3 * 4 * 2 = 24 записи в a и векторе данных содержит их в порядке [1,1,1], [2,1,1], …, [2,4,2], [3,4,2].
Массивы могут быть одномерными: такие массивы обычно обрабатываются таким же образом как векторы (включая печать), но исключения могут вызвать беспорядок.
5.2. Индексация массива. Подразделы массива
На отдельные элементы массива можно сослаться, давая имя массива, сопровождаемого нижними индексами в квадратных скобках, разделенных запятыми.
Более широко можно указать подразделы массива, давая последовательность векторов индексов вместо нижних индексов; однако, если какая-либо позиция индекса дана пустым индексным вектором, то берется полный спектр этого нижнего индекса.
Продолжая предыдущий пример, а [2,,] является массивом 4х2 с вектором размерности с (4,2) и вектором данных, содержащим значение:
в том порядке. а [,,] стоит для всего массива, который является таким же с исключенными нижними индексами полностью и использованием а отдельно.
Для любого массива, скажем Z, на вектор размерности можно сослаться явно как dim (Z) (по обе стороны от присвоения).
Кроме того, если имя массива дано только с одним нижним индексом, или индексируется вектором, то только используется соответствующее значение вектора данных; в этом случае вектор размерности игнорируется. Дело обстоит не так, однако, если отдельный индекс не вектор, но он непосредственно массив, как обсуждим позже.
5.3. Индекс матрицы
Включая индексный вектор в любой позиции нижнего индекса, матрица может использоваться с отдельной матрицей индексов в порядке либо присвоения вектора количеству нерегулярной коллекции элементов в массиве, либо в извлечении нерегулярной коллекции как вектора.