- •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. Ссылки
Конкатенация списков
При конкатенации функцией c()с аргументами в виде списков получается результат в виде объекта с режимом списка, компоненты которого состоят из последовательно объединенного списка параметров.
> list.ABC <- c(list.A, list.B, list.C)
Вспомним, что с векторными объектами в качестве аргументов, функция конкатенации так же объединяла все параметры в отдельную векторную структуру. В этом случае все другие атрибуты, такие как атрибут dim, отбрасываются.
Фреймы данных
Фрейм данных– это список с классом "data.frame".Есть ограничения на списки, которые могут быть превращены в фреймы данных, а именно,
Компоненты должны быть векторами (числовыми, символьными или логическими), факторами, числовыми матрицами, списками или другими фреймами данных.
Матрицы, списки, и фреймы данных предоставляют столько переменных для нового фрейма данных, сколько у них имеется столбцов, элементов или переменных, соответственно.
Числовые и логические векторы, а также факторы включаются как таковые, и по умолчанию символьные векторы преобразуются в факторы, уровни которых - единственное значение, появляющееся в векторе.
Векторные структуры, появляющиеся как переменные фрейма данных, должны иметь одинаковую длину, а матричные структуры должны иметь одинаковый размер строки.
Для многих целей фреймы данных можно расценить как матрицу со столбцами возможно отличающихся режимом и атрибутом. Он может быть выведен на экран в матричной форме, и его строки и столбцы извлекаются с использованием соглашения индексации матрицы.
Создание фреймов данных
Объекты, удовлетворяющие ограничениям, установленным для столбцов
(компонентов) фрейма данных, могут использоваться для формирования с использованием функции data.frame:
> accountants <- data.frame(home=statef, loot=incomes, shot=incomef)
Список, компоненты которого соответствуют ограничениям фрейма данных, может быть преобразован во фрейм данных, используя функциюas.data.frame().
Самый простой способ создания фрейма данных с нуля состоит в использовании функции read.table()при считывании всего фрейма данных из внешнего файла. Это обсуждается далее в Главе 7 [Чтение данных из файла].
Attach() и detach()
Нотация $, такая как accountants$home,для компонентов списка не всегда очень удобна. Полезное средство должно делать компоненты списка или фрейма данных временно видимыми в качестве переменных под их именем компонентов без потребности явно каждый раз заключать имя списка в кавычки.
Функция attach(() берет 'базу данных', такую как список или фрейм данных, как свой параметр. Таким образом, предположим, чтоlentils- фрейм данных с тремя переменнымиlentils$u, lentils$v, lentils$w.Присоединение:
> attach(lentils)
разместит фрейм данных в пути поиска на позиции 2 и обеспечит отсутствие переменных u, v илиwв позиции 1;u, v илиwдоступны как переменные из фрейма данных в их собственной позиции. В этом месте такое присвоение как:> u <- v+w
не заменяет компонент uфрейма данных, а скорее маскирует его с другой переменнойuв рабочем каталоге в позиции 1 на пути поиска. Чтобы произвести постоянное изменение непосредственно во фрейме данных, самый простой путь состоит в обращении еще раз к нотации$:
> lentils$u <- v+w
Однако новое значение компонента uне видимо, пока фрейм данных не отсоединен и присоединен снова.
Чтобы отсоединить фрейм данных, используйте функцию: > detach()
Более точно этот оператор отсоединяет от пути поиска объект в настоящий момент в позиции 2. Таким образом, в существующем контексте переменные u, v иwбольше не были бы видимы, кроме, как в соответствии с нотацией списка какlentils$uи так далее. Объекты в позициях, больше чем 2 на пути поиска, могут быть отсоединены, давая их число для отсоединения, но намного более безопасно всегда использовать имя, напримерdetach(lentils) or detach("lentils").
Замечание: В R списки и фреймы данных можно присоединить только в позиции 2 или выше, и то, что присоединено, является копией исходного объекта. Можно изменить присоединенное значение через присвоение, но исходный список или фрейм данных неизменен.