
- •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. Ссылки
Настройка окружения
Пользователи могут настроить свое окружение несколькими различными способами. существует системный файл, и у каждого каталога может быть свой собственный специальный файл инициализации. Наконец, можно использовать специальные функции .Firstи.Last.
Расположение системного файла инициализации берется из значения переменной окружения R_PROFILE. Если эта переменная сброшена, то используется файл ‘Rprofile.site’в подкаталоге'etc' домашней директорииR. Этот файл должен содержать команды, которые необходимо выполнять каждый раз при запуске R в Вашей системе. Второй, персональный файл профиля с именем‘.Rprofile,может быть помещен в любой каталог. Если R вызван в этом каталоге, то файл будет считан из него. Этот файл дает отдельный пользовательский контроль над рабочей областью и учитывает различные процедуры запуска в различных рабочих каталогах. Если файл‘.Rprofile’не найден в каталоге запуска, то R ищет файл‘.Rprofile’в корневом каталоге пользователя и использует его (если он существует). Если установлена переменная средыR_PROFILE_USER, то файл, на который она указывает, используется вместо файлов‘.Rprofile’.
У любой функции с именем .First() в любом из этих двух файлов профиля, либо в образе‘.RData’ имеется особый статус. Она автоматически выполняется в начале сеанса R и может использоваться для инициализации среды. Например, определение в примере ниже изменяет приглашение системы на$ и устанавливает разные другие полезные вещи, которые затем могут считаться само собой разумеющимся в остальной части сеанса.
Таким образом, последовательность, в которой выполняются файлы, это ‘Rprofile.site’,‘Rprofile’,‘.RData’, а затем.First().Определение в последующих файлах замаскирует определения в более ранних файлах.
> .First <- function() { options(prompt="$ ", continue="+\t") # $ как приглашение
options(digits=5, length=999) # формат чисел и область печати
x11() # графический драйвер par(pch = "+") # plotting character source(file.path(Sys.getenv("HOME"), "R", "mystuff.R "))
# собственные функции
library(MASS) # присоединить пакет
}
Аналогично, если определена функция .Last(), то она (обычно) выполняется в самом конце сеанса. Пример дан ниже.
> .Last <- function() {
graphics.off() # небольшая мера безопасности. cat(paste(date(),"\nAdios\n")) # Время обеда?
}
Классы, универсальные функции и объектно-ориентированное программирование
Класс объекта определяет, как он будет обработан универсальнымифункциями. Наоборот, универсальная функция выполняет действия и обработку своих аргументов в зависимости отконкретного класса самого аргумента. Если у аргумента отсутствует атрибут класса, или он имеет класс, не удовлетворяющий формату общей функции, всегда предусмотрено действие по умолчанию.
Поясним это примером. Механизм класса предлагает пользователю средство по проектированию и написанию универсальных функций для определенных целей. Среди ряда универсальных функций имеется plot()для вывода на экран графических объектов,summary() для суммирования анализов различных типов, иanova()для сравнения статистических моделей.
Количество универсальных функций, которые могут обработать класс определенным образом, может быть довольно большим. Например, функции, которые могут быть применены к некоторым объектам класса "data.frame",включают:
[ [[<- any as.matrix
[<- mean plot summary
Текущий полный список может быть получен использованием функции methods():
> methods(class="data.frame")
Наоборот, число классов, обрабатываемых универсальной функцией, также может быть довольно большим. Например, у функции plot()есть метод по умолчанию и разновидности для объектов классов"data.frame", “density", "factor" и многое другое. Полный список может быть получен снова при использовании функцииmethod():> methods(plot)
Для многих универсальных функций тело функции довольно короткое, например: > coef
function (object, ...) UseMethod("coef")
Присутствие UseMethodуказывает, что это универсальная функция. Чтобы увидеть, какой метод доступен, следует использоватьmethod():
> methods(coef)
[1] coef.aov* coef.Arima* coef.default* coef.listof*
[5] coef.nls* coef.summary.nls*
Non-visible functions are asterisked
В этом примере существует шесть методов, ни один из них нельзя увидеть, набрав его имя. Можно прочесть их, введя:
> getAnywhere("coef.aov")
A single object matching ’coef.aov’ was found
It was found in the following places registered S3 method for coef from namespace stats namespace:stats
with value
function (object, ...)
{ z <- object$coef z[!is.na(z)]
}
> getS3method("coef", "aov")
function (object, ...)
{ z <- object$coef z[!is.na(z)] }
Читатель отсылается к «Определению языка R» для более полного обсуждения этого механизма.