
- •Version 3.1.0 (2014-04-10)
- •1.Введение и предварительные замечания 8
- •6.Списки и фреймы данных 37
- •11.Статистические модели в r 64
- •12.Графические процедуры 78
- •13.Пакеты 97
- •Предисловие
- •Предложения читателю
- •О переводе
- •Введение и предварительные замечания
- •Среда r
- •Связанное программное обеспечение и документация
- •R и статистика
- •R и оконная система
- •Использование r в интерактивном режиме
- •Первый сеанс
- •Получение справки по функциям и средствам
- •Команды r,учет регистра и т.Д.
- •Повтор и коррекция предыдущих команд
- •Выполнение команд из файла или перенаправление вывода в файл
- •Сохранение данных и удаление объектов
- •Простые манипуляции; числа и векторы
- •Вектора и присваивания
- •Векторная арифметика
- •Генерация регулярных последовательностей
- •Логические векторы
- •Пропущенные значения
- •Векторы символов
- •Векторы индексов; выбор и изменение подмножеств наборов данных
- •Другие типы объектов
- •Объекты, их режимы и атрибуты
- •Внутренние атрибуты: режим и длина
- •Изменяющаяся длина объекта
- •Получение и установка атрибутов
- •Класс объекта
- •Упорядоченные и неупорядоченные факторы
- •Специальный пример
- •Функция tapply () и массивы с переменной длиной строк
- •Упорядоченные факторы
- •Массивы и матрицы
- •Массивы
- •Индексация массива. Подразделы массива
- •Индекс матрицы
- •Функция array()
- •Смешанный вектор и арифметика массива. Правило рециркуляции
- •Внешнее произведение двух массивов
- •Обобщенное транспонирование массива
- •Матричные инструменты
- •Умножение матриц
- •Линейные уравнения и инверсия
- •Собственные значения и собственные векторы
- •Сингулярное разложение и определители
- •Подгонка методом наименьших квадратов и qr разложение
- •Формирование разделенных матриц cbind () и rbind ()
- •Функция связывания массивовc()
- •Таблицы частот от факторов
- •Списки и фреймы данных
- •Построение и изменение списков
- •Конкатенация списков
- •Фреймы данных
- •Создание фреймов данных
- •Attach() и detach()
- •Работа с фреймами данных
- •Присоединение произвольных списков
- •Управление путем поиска
- •Чтение данных из файлов
- •Функция read.Table()
- •Функция scan()
- •Доступ к встроенным наборам данных
- •Загрузка данных из других пакетов r
- •Редактирование данных
- •Распределение вероятности
- •R как ряд статистических таблиц
- •Исследование распределения набора данных
- •Тесты на одной и двух выборках
- •Группировка, циклы и условное выполнение
- •Группирующие выражения
- •Проверка утверждения
- •Условное выполнение: операторы if
- •Повторное выполнение: for, loops, repeat и while
- •Написание собственных функций
- •Простые примеры
- •Определение новых бинарных операторов
- •Именованные параметры и умолчания
- •Параметр ‘...’
- •Присвоения в пределах функций
- •Более сложные примеры
- •Фактор эффективности при проектировании блоков
- •Отбрасывание всех имен при печатании массива
- •Рекурсивное числовое интегрирование
- •Область действия
- •Настройка окружения
- •Классы, универсальные функции и объектно-ориентированное программирование
- •Статистические модели в r
- •Определение статистических моделей; формулы
- •Примеры
- •Противопоставления
- •Линейные модели
- •Универсальные функции для извлечения информации о модели
- •Дисперсионный анализ и сравнение модели
- •Таблицы anova
- •Обновление подогнанных моделей
- •Обобщенные линейные модели
- •Семейства
- •Функция glm()
- •Нелинейные наименьшие квадраты и модели наибольшего правдоподобия
- •Наименьшие квадраты
- •Метод максимального правдоподобия
- •Некоторые нестандартные модели
- •Графические процедуры
- •Высокоуровневые команды рисования
- •Функция plot()
- •Отображение многомерных данных
- •Графический вывод
- •Параметры для высокоуровневых графических функций
- •Низкоуровневые команды рисования
- •Математическая аннотация
- •Векторные шрифты Херши
- •Интерактивная графика
- •Использование графических параметров
- •Постоянные изменения: функция par()
- •Временные изменения: параметры для графических функций
- •Список графических параметров
- •Графические элементы
- •Оси и метки
- •Поля рисунка
- •Окружение составных фигур
- •Устройства вывода
- •PostScript диаграммы для типографии
- •Несколько графических устройств одновременно
- •Динамическая графика
- •Стандартные пакеты
- •Сторонние пакеты и cran
- •Пространства имен
- •Пакеты для анализа временных рядов
- •Основные пакеты - Basics
- •Время и даты -Times and Dates
- •Классы временных рядов - Time Series Classes
- •Прогноз и одномерное моделирование -Forecasting and Univariate Modeling
- •Ресэмплирование - Resampling
- •Декомпозиция и фильтрация - Decomposition and Filtering
- •Стационарность, единичный корень и коинтеграция - Stationarity, Unit Roots, and Cointegration
- •Нелинейный анализ временных рядов -Nonlinear Time Series Analysis
- •Модели динамических регрессий - Dynamic Regression Models
- •Модели многомерных временных рядов - Multivariate Time Series Models
- •Модели непрерывного времени - Continuous time models
- •Исходные временные ряды - Time Series Data
- •Разное - Miscellaneous
- •Перечень пакетов для анализа временных рядов:
- •• Aer • afmtools • bayesGarch
- •Приложение a. Примерный сеанс
- •Приложения b. Вызов r
- •В.1. Вызов r из командной строки
- •В.2. Вызов r под Windows
- •В.3. Вызов r под os X
- •В.4. Скрипты r
- •Приложение c. Редактор командной строки
- •Приложение f. Ссылки
Индекс матрицы
Включая индексный вектор в любой позиции нижнего индекса, матрица может использоваться с отдельной матрицей индексовв порядке либо присвоения вектора количеству нерегулярной коллекции элементов в массиве, либо в извлечении нерегулярной коллекции как вектора.
Пример матрицы ясно дает понять процесс. В случае вдвойне индексированного массива индексная матрица может состоять из двух столбцов и так много строк как требуется. Входы в индексной матрице - строка и индексы столбца для вдвойне индексированного массива. Предположим, например, что у нас есть массив X4-на-5, и мы хотим сделать следующее:
извлечь элементы X[1,3], X[2,2] и X[3,1]как векторную структуру, и
заменить эти записи в массиве X нулями.
В этом случае необходим массив нижнего индекса 3-на-2, как в следующем примере.
> x <- array(1:20, dim=c(4,5)) # генерирует массив 4 на 5.
> x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 9 13 17
[2,] 2 6 10 14 18
[3,] 3 7 11 15 19
[4,] 4 8 12 16 20
> i <- array(c(1:3,3:1), dim=c(3,2))
> i [,1] [,2] [1,] 1 3 [2,] 2 2 [3,] 3 1 |
|
|
# i является индексным массивом 3 на 2 |
> x[i] |
|
|
# Извлекает те элементы |
[1] 9 6 |
3 |
|
|
> x[i] <- 0 > x |
|
|
# Заменяет те элементы нулями. |
[,1] [,2] |
[,3] |
[,4] |
[,5] |
[1,] 1 5 |
0 |
13 |
17 |
[2,] 2 0 |
10 |
14 |
18 |
[3,] 0 7 |
11 |
15 |
19 |
[4,] 4 8 |
12 |
16 |
20 |
Отрицательные индексы не разрешены при индексировании матрицы. NAи нулевое значение позволены: строки в индексной матрице, содержащей нуль, игнорируются, и строки, содержащиеNA, производятNAв результате.
Как менее тривиальный пример, предположим, что необходимо генерировать (не приведенную) матрицу проекта для блочной конструкции, определенной блоками факторов (bуровни) и варианты (vуровни). Далее предположим, что в эксперименте естьnрисунков. Мы могли продолжить следующим образом:
> Xb <- matrix(0, n, b)
> Xv <- matrix(0, n, v)
> ib <- cbind(1:n, blocks)
> iv <- cbind(1:n, varieties)
> Xb[ib] <- 1
> Xv[iv] <- 1
> X <- cbind(Xb, Xv)
Для конструирования индексов матрицы, скажем N, можно использовать:> N <- crossprod(Xb, Xv)
Однако более простым способом производства этой матрицы является использование table():
> N <- table(blocks, varieties)
Индексная матрица должна быть числовой: предоставленная любая другая форма матрицы (логическая или символьная) обрабатывается как индексный вектор.
Функция array()
Так же, как давая векторной структуре атрибут dim, массивы могут быть созданы из векторов функцией массива (array), у которой есть форма:
> Z <- array(data_vector, dim_vector)
Например, если вектор hсодержит 24 или менее чисел, тогда команда: > Z <- array(h, dim=c(3,4,2)) использовал быh, чтобы установить3-на-4-на-2массивZ. Если размерhточно 24, результат выглядит так:
> Z <- h ; dim(Z) <- c(3,4,2)
Однако, если hкороче, чем 24, его значения будут взяты циклически для дополнения до размера 24 (см.Раздел 5.4.1 [Правило рециркуляции]), ноdim(h) <-c (3,4,2)сигнализировал бы ошибку о несоответствии длине. Как экстремальный, но типичный пример:
> Z <- array(0, c(3,4,2)) делаетZмассивом всех нулей.
В этой месте dim(Z)обозначает вектор размерностиc(3,4,2), иZ[1:24]содержит вектора данных, как это было вh, иZ[]с пустым нижним индексом или Z состоит без нижнего индекса для всего массива в качестве массива.
Массивы могут использоваться в арифметических выражениях, и результат является массивом, сформированным поэлементно операциями на векторах данных. Атрибуты dim операндов обычно должны быть одинаковыми, и они становятся вектором размерности результата. Так, еслиA, BиCявляются все подобными массивами, то:
> D <-2*A*B + C + 1
делает Dподобным массивом с его вектором данных, являющимся результатом данной поэлементно операции. Однако точное правило относительно смешанного массива и векторных вычислений нужно рассмотреть немного более тщательно.