Введение в R версия 3.5.2 (2018-12-20). Заметки по R: среда программирования для анализа данных и графики. У. Н. Венэбльз
Читать онлайн книгу.функцию tapply () к более сложной индексация вектора на несколько категорий. Например, можно разделить налоговые счета как по штатам, так и по полу. Однако в этом простом примере (только один фактор) то, что происходит, можно представить следующим образом. Значение в векторе собрано в группы, соответствующие различным позициям в факторе. Затем функция применяется к каждой из этих групп отдельно. Результат – это вектор значений функции, маркированных согласно levels фактора.
Комбинация вектора и фактора меток – пример того, что иногда называют неровными массивами, так как размеры подкласса возможно не одинаковы. Когда размеры подкласса всегда одинаковы, то индексация может быть сделана неявно и намного более эффективно, как увидим в следующем разделе.
4.3. Упорядоченные факторы
Уровни факторов сохраняются в алфавитном порядке, или в том порядке, в котором они указывались к фактору, если они указывались явно.
Иногда у уровней будет естественное упорядочивание, которое записали и хотели использовать в статистическом анализе. Функция ordered () создает такие упорядоченные факторы, но, в противном, она идентична factor. В большинстве целей единственной разницей между упорядоченными и неупорядоченными факторами является то, что прежде напечатанное для упорядоченных уровней отличается от генерируемых для них в подгонке линейных моделей.
5. Массивы и матрицы
5.1. Массивы
Массив (array) можно рассмотреть как множество, приписанное к набору входов данных, например числовых. R позволяет простые средства для создания и обработки массивов, и их особый случай – матриц.
Размерностью вектора является вектор неотрицательных целых чисел. Если его длина равна k, то массив является k-мерным, например, матрица является 2-мерным массивом. Размерности индексированы от единицы до значения, данного в векторе размерности.
Вектор может использоваться в R в качестве массива, только если у него имеется вектор размерности как его атрибут dim. Предположим, например, z – вектор из 1500 элементов.
> dim (z) <– c (3,5,100)
дает ему атрибут 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. Индексация массива. Подразделы массива
На отдельные элементы массива можно сослаться, давая имя массива, сопровождаемого