ОТ ПЕРЕВОДЧИКА
По моему глубокому убеждению, на сегодняшний день это – лучшая
книга, посвященная обработке данных в статистической среде R, для
неспециалистов. Я рада, что теперь она стала доступной русскоязычным читателям. Надеюсь, мой перевод не сильно испортил эту книгу.
По крайней мере, в некоторых местах она точно стала лучше, потому
что я исправила довольно многочисленные и не всегда безобидные
опечатки, обнаруженные в исходном издании мною и другими читателями, которые оставили свои отзывы на форуме издательства.
Я благодарю Александра Лободу, который рассказал мне о существовании этой книги, Дмитрия Мовчана, с энтузиазмом воспринявшего мое предложение опубликовать ее перевод, Бориса Демешева за консультации по переводу некоторых статистических терминов и Алексея Шипунова за техническую поддержку. Я особенно признательна Сергею Петрову и Сергею Мастицкому за внимательное прочтение рукописи перевода и конструктивные замечания.
ОГЛАВЛЕНИЕ
От переводчикаПредисловие
Благодарности
Об этой книге
Об иллюстрации на обложке
ЧАСТЬ 1.
Начало работы
Глава 1. Знакомство с R
1.1. Зачем использовать R?
1. 2. Получение и установка R
1.3. Работа в R
1.3.1. Начало работы
1.3.2. Как получить помощь
1.3.3. Рабочее пространство
1.3.4. Ввод и вывод
1.4. Пакеты
1.4.1. Что такое пакеты?
1.4.2. Установка пакета
1.4.3. Загрузка пакета
1.4.4. Получение информации о пакете
1.5. Пакетная обработка
1.6. Использование вывода в качестве ввода – повторное использование результатов
1.7. Работа с большими массивами данных
1.8. Учимся на примере
1.9. Резюме
Глава 2. Создание набора данных
2.1. Что такое набор данных?
2.2. Структуры данных
2.2.1. Векторы
2.2.2. Матрицы
Оглавление 2.2.3. Массивы данных
2.2.4. Таблицы данных
2.2.5. Факторы
2.2.6. Списки
2.3. Ввод данных
2.3.1 Ввод данных с клавиатуры
2.3.2. Импорт данных из текстового файла с разделителями.......... 2.3.3. Импорт данных из Excel
2.3.4. Импорт данных из XML файлов
2.3.5. Извлечение данных из веб-страниц
2.3.6. Импорт данных из SPSS
2.3.7. Импорт данных из SAS
2.3.8. Импорт данных из Stata
2.3.9. Импорт данных из netCDF
2.3.10. Импорт данных из HDF5
2.3.11. Импорт данных из систем управления базами данных......... 2.3.12. Импорт данных при помощи Stat/Transfer
2.4. Аннотирование наборов данных
2.4.1. Подписи для переменных
2.4.2. Пояснение значений переменных
2.5. Полезные функции для работы с объектами
2.6. Резюме
Глава 3. Начало работы с диаграммами................ 3.1. Работа с диаграммами
3.2. Простой пример
3.3. Графические параметры
3.3.1. Символы и линии
3.3.2. Цвета
3.3.3. Характеристики текста
3.3.4. Размеры диаграммы и полей
3.4. Добавление текста, настройка параметров осей и условных обозначений
3.4.1. Заголовки
3.4.2. Оси
3.4.3. Опорные линии
3.4.4. Легенда
3.4.5. Аннотации
3.5. Объединение диаграмм
3.5.1. Полный контроль над расположением диаграмм................. 3.9. Резюме
Глава 4. Основы управления данными................ 4.1. Рабочий пример
4.2. Создание новых переменных
4.3. Перекодировка переменных
8 Оглавление 4.4. Переименование переменных
4.5. Пропущенные значения
4.5.1. Перекодировка значений в отсутствующие
4.5.2. Исключение пропущенных значений из анализа.................. 4.6. Календарные даты как данные
4.6.1. Преобразование дат в текстовые переменные
4.6.2. Получение дальнейшей информации
4.7. Преобразования данных из одного типа в другой............ 4.8. Сортировка данных
4.9. Объединение наборов данных
4.9.1. Добавление столбцов
4.9.2. Добавление строк
4.10. Разделение наборов данных на составляющие............. 4.10.1. Выбор переменных
4.10.2. Исключение переменных
4.10.3. Выбор наблюдений
4.10.4. Функция subset()
4.10.5. Случайные выборки
4.11. Использование команд SQL для преобразования таблиц данных
4.12. Резюме
Глава 5. Более сложные способы управления данными
5.1. Задача по управлению данными, которую нужно решить... 5.2. Числовые и текстовые функции
5.2.1. Математические функции
5.2.2. Статистические функции
5.2.3. Функции распределения
5.2.4. Текстовые функции
5.2.5. Другие полезные функции
5.2.6. Применение функций к матрицам и таблицам данных......... 5.3. Решение нашей задачи по управлению данными............ 5.4. Управление выполнением команд
5.4.1. Повторение и циклы
5.4.2. Выполнение при условии
5.5. Функции, написанные пользователем
5.6. Агрегирование и изменение структуры данных............... 5.6.1. Транспонирование
5.6.2. Агрегирование данных
5.6.3. Пакет reshape
5.7. Резюме
ЧАСТЬ 2.
Базовые методы
Оглавление Глава 6. Базовые диаграммы
6.1. Столбчатые диаграммы
6.1.1. Простые столбчатые диаграммы
6.1.2. Столбчатые диаграммы: составные и с группировкой......... 6.1.3. Столбчатые диаграммы для средних значений
6.1.4. Оптимизация столбчатых диаграмм
6.1.5. Спинограммы
6.2. Круговые диаграммы
6.3. Гистограммы
6.4. Диаграммы ядерной оценки функции плотности............. 6.5. Диаграммы размахов
6.5.1. Использование диаграмм размахов для сравнения групп между собой
6.5.2. Скрипичные диаграммы
6.6. Точечные диаграммы
6.7. Резюме
Глава 7. Основные методы статистической обработки данных
7.1. Описательные статистики
7.1.1. Калейдоскоп методов
7.1.2. Вычисление описательных статистик для групп данных...... 7.1.3. Визуализация результатов
7.2. Таблицы частот и таблицы сопряженности
7.2.1. Создание таблиц частот
7.2.2. Тесты на независимость
7.2.3. Показатели взаимосвязи
7.2.4. Визуализация результатов
7.2.5. Преобразование таблиц в неструктурированные файлы..... 7.3. Корреляции
7.3.1. Типы корреляций
7.3.2. Проверка статистическиой значимости корреляций............ 7.3.3. Визуализация корреляций
7.4. Тесты Стьюдента
7.4.1. Тест Стьюдента для независимых выборок
7.4.2. Тест Стьюдента для зависимых выборок
7.4.3. Когда имеется больше двух групп
7.5. Непараметрические тесты межгрупповых различий........ 7.5.1. Сравнение двух групп
7.5.2. Сравнение более двух групп
7.6. Визуализация групповых различий
7.7. Резюме
ЧАСТЬ 3.
Методы обработки данных средней сложности... Глава 8. Регрессия
8.1. Многоликая регрессия
8.1.1. Ситуации, в которых используется МНК-регрессия............. 8.1.2. Что вам нужно знать
8.2. МНК-регрессия
8.2.1. Подгонка регрессионных моделей при помощи команды lm()
8.2.2. Простая линейная регрессия
8.2.3. Полиномиальная регрессия
8.2.4. Множественная линейная регрессия
8.2.5. Множественная линейная регрессия со взаимодействиями
8.3. Диагностика регрессионных моделей
8.3.1. Стандартный подход
8.3.2. Усовершенствованный подход
8.3.3. Общая проверка выполнения требований, предъявляемых к линейным моделям
8.3.4. Мультиколлинеарность
8.4. Необычные наблюдения
8.4.1. Выбросы
8.4.2. Точки высокой напряженности
8.4.3. Влиятельные наблюдения
8.5. Способы корректировки
8.5.1. Удаление наблюдений
8.5.2. Преобразование переменных
8.5.3. Добавление или удаление переменных
8.5.4. Попытка применить другой подход
8.6. Выбор «лучшей» регрессионной модели
8.6.1. Сравнение моделей
8.6.2. Выбор переменных
8.7. Продолжение анализа
8.7.1. Кросс-валидация
8.7.2. Относительная важность
8.8. Резюме
Глава 9. Дисперсионный анализ
9.1. Ускоренный курс терминологии
9.2. Подгонка ANOVA-моделей
9.2.1. Функция aov()
9.2.2. Порядок членов в формуле
9.3. Однофакторный дисперсионный анализ
9.3.1. Множественные сравнения
9.3.2. Проверка справедливости допущений, лежащих в основе теста
9.4. Однофакторный ковариационный анализ
9.4.1. Проверка допущений, лежащих в основе теста
Оглавление 9.4.2. Визуализация результатов
9.5. Двухфакторный дисперсионный анализ
9.6. Дисперсионный анализ для повторных измерений......... 9.7. Многомерный дисперсионный анализ
9.7.1. Проверка предположений, лежащих в основе теста............ 9.7.2. Устойчивый многомерный дисперсионный анализ.............. 9.8. Дисперсионный анализ как регрессия
9.9. Резюме
Глава 10. Анализ мощности
10.1. Краткий обзор процедуры проверки гипотез................. 10.2. Проведение анализа мощности при помощи пакета pwr
10.2.1. Тесты Стьюдента
10.2.2. Дисперсионный анализ
10.2.3. Корреляции
10.2.4. Линейные модели
10.2.5. Сравнение пропорций
10.2.6. Тесты хи-квадрат
10.2.7. Выбор подходящего размера эффекта в незнакомых ситуациях
10.3. Графический анализ мощности
10.4. Другие пакеты
10.5. Резюме
Глава 11. Диаграммы средней сложности........... 11.1. Диаграммы рассеяния
11.1.1. Матрицы диаграмм рассеяния
11.1.2. Диаграммы рассеяния высокой плотности
11.1.3. Трехмерные диаграммы рассеяния
11.1.4. Пузырьковые диаграммы
11.2. Линейные графики
11.3. Кореллограммы
11.4. Мозаичные диаграммы
11.5. Резюме
Глава 12. Статистика повторных выборок и бутстреп-анализ
12.1. Перестановочные тесты
12.2. Перестановочные тесты в пакете coin
12.2.1. Тесты на независимость для двух и k выборок
12.2.2. Независимость в таблицах сопряженности
12.2.3. Независимость между числовыми переменными.............. 12.2.4. Тесты для двух и k зависимых выборок
12.2.5. Дополнительная информация
12.3. Перестановочные тесты, реализованные в пакете lmPerm
12.3.1. Простая и полиномиальная регрессия
12.3.2. Множественная регрессия
12.3.3. Однофакторные дисперсионный и ковариационный анализы
12.3.4. Двухфакторный дисперсионный анализ
12.4. Дополнительные замечания о перестановочных тестах... 12.5. Бутстреп-анализ
12.6. Бутстреп-анализ при помощи пакета boot
12.6.1. Бутстреп-анализ для одной статистики
12.6.2. Бутстреп-анализ для нескольких статистик
12.7. Резюме
ЧАСТЬ 4.
Продвинутые методы
Глава 13. Обобщенные линейные модели........... 13.1. Обобщенные линейные модели и функция glm()........... 13.1.1. Функция glm()
13.1.2. Вспомогательные функции
13.1.3. Соответствие модели данным и регрессионная диагностика
13.2. Логистическая регрессия
13.2.1. Интерпретация параметров модели
13.2.2. Оценка влияния независимых переменных на вероятность исхода
13.2.3. Избыточная дисперсия
13.2.4. Дополнительные методы
13.3. Пуассоновская регрессия
13.3.1. Интерпретация параметров модели
13.3.2. Избыточная дисперсия
13.3.3. Дополнительные методы
13.4. Резюме
Глава 14. Главные компоненты и факторный анализ
14.1. Выполнение анализа главных компонент и факторного анализа в R
14.2. Главные компоненты
14.2.1. Выбор необходимого числа компонент
14.2.2. Выделение главных компонент
14.2.3. Вращение главных компонент
14.2.4. Вычисление значений главных компонент
14.3. Разведочный факторный анализ
Оглавление 14.3.1. Определение числа извлекаемых факторов
14.3.2. Выделение общих факторов
14.3.3. Вращение факторов
14.3.4. Значения факторов
14.3.5. Другие пакеты для проведения факторного анализа......... 14.4. Другие модели для латентных переменных
14.5. Резюме
Глава 15. Продвинутые методы работы с пропущенными данными
15.1. Этапы работы с пропущенными данными
15.2. Обнаружение пропущенных значений
15.3. Исследование структуры пропущенных данных............. 15.3.1. Представление пропущенных значений в виде таблицы
15.3.2. Визуальное исследование структуры пропущенных данных
15.3.3. Использование корреляции для исследования пропущенных значений
15.4. Выявление источников пропущенных данных и эффекта от них
15.5. Рациональный подход
15.6. Анализ полных строк (построчное удаление)................. 15.7. Метод множественного восстановления пропущенных данных
15.8. Другие подходы к пропущенным данным
15.8.1. Попарное удаление
15.8.2. Простое (нестохастическое) восстановление данных.......... 15.9. Резюме
Глава 16. Продвинутые графические методы...... 16.1. Четыре графические системы R
16.2. Пакет lattice
16.2.1. Условные переменные
16.2.2. Функции для изменения формата ячеек
16.2.3. Группировка переменных
16.2.4. Графические параметры
16.2.5. Расположение диаграмм на странице
16.3. Пакет ggplot2
16.4. Интерактивная графика
16.4.1. Взаимодействие с диаграммами: идентификация точек... 16.4.2. Пакет playwith
16.4.3. Пакет latticist
16.4.4. Создание интерактивной графики при помощи пакета iplots
16.4.5. Пакет rggobi
16.5. Резюме
Послесловие: В погоне за кроликом.................. Приложение A. Графические пользовательские интерфейсы
Приложение B. Настройка начальной конфигурации программы
Приложение C. Экспорт данных из R.................. C.1. Текстовый файл с разделителями
C.2. Таблица Excel
C.3. Другие статистические программы
Приложение D. Сохранение результатов в пригодном для публикации качестве............... D.1. Подготовка отчета типографского качества при помощи пакета Sweave (R + LaTeX)
D.2. Объединение сил с OpenOffice при помощи пакета odfWeave
D.3. Комментарии
Приложение E. Матричная алгебра в R............... Приложение F. Пакеты, упомянутые в этой книге... Приложение G. Работа с большими наборами данных
G.1. Эффективное программирование
G.2. Хранение данных вне оперативной памяти
G.3. Аналитические пакеты для больших объемов данных..... Приложение H. Обновление версии R................. Список литературы
ПРЕДИСЛОВИЕ
Оно чудесно и наделено сокровищами, способными удовлетворить всех от мала до велика, но не предназначено для робких Когда я начал писать эту книгу, я потратил достаточно много времени в поисках хорошего эпиграфа. В итоге я остановился на этих двух.R – это потрясающе гибкие приложение и язык для исследования, визуализации и понимания данных. Я выбрал цитату из «Алисы в Стране Чудес», чтобы передать суть современного статистического анализа – интерактивного процесса, состоящего из исследования, визуализации и интерпретации.
Вторая цитата отражает широко распространенное мнение о том, что работе в R сложно научиться. Я надеюсь показать вам, что это не обязательно должно быть так. R – мощная программа с таким большим числом доступных аналитических и графических функций (по последним подсчетам их более 50 000), что она может в одинаковой степени навести ужас и на новичков, и на опытных пользователей.
Однако в этом мнимом безумии есть поэзия и логика. Вооружившись руководствами и инструкциями, вы сможете ориентироваться в огромном разнообразии возможностей, выбрав те инструменты, которые нужны для того, чтобы уверенно, эффективно и элегантно выполнить вашу задачу.
Я впервые познакомился с R несколько лет назад, когда хотел получить новую должность консультанта по статистике. Предполагаемый работодатель перед интервью спросил меня, владею ли я R. Следуя обычным советам специалистов по подбору персонала, я немедленно сказал «да» и стал учиться работать в этой программе.
Я был опытным статистиком и исследователем с 25 годами опыта 1 Перевод Н. Демуровой программирования в SAS и SPSS, свободно владевшим несколькими языками программирования. Чего же тут может быть сложного? Знаменитые последние слова.
По мере того как я пытался выучить язык программирования (как можно быстрее, ведь день собеседования приближался с угрожающей быстротой), я находил или тома, посвященные глубинной структуре языка или многочисленные трактаты об отдельных продвинутых статистических методах, написанных специалистами в данной области для своих коллег. Встроенная помощь была написана очень лаконично и служила скорее справочником, чем учебным пособием. Каждый раз, когда мне казалось, что я освоил общую логику и возможности R, находилось что-то новое, заставлявшее почувствовать себя невежественным и ничтожным.
При освоении R, я подошел к процессу с точки зрения исследователя, которому нужно обрабатывать данные. Я пытался понять, что нужно сделать, чтобы успешно обработать, проанализировать и понять данные, включая:
• доступ к данным (получение данных из разных источников);
• редактирование данных (замена или удаление пропущенных значений, преобразование признаков в более удобный вид);
• аннотирование данных (чтобы помнить, что представляет собой каждый их фрагмент);
• получение общих сведений о данных (вычисление описательных статистик для того, чтобы охарактеризовать данные);
• визуализация данных (поскольку картинка на самом деле сто ит тысячи слов);
• моделирование данных (нахождение зависимостей и тестирование гипотез);
• оформление результатов (подготовка таблиц и диаграмм достаточного для публикации качества).
Затем я постарался понять, как я могу использовать R, чтобы выполнить каждую из этих задач. Поскольку я лучше всего учусь, обучая других, со временем я создал сайт (www.statmethods.net), на котором рассказал все, что я узнал.
Затем, около года назад, Марьян Бейс (Marjan Bace), издатель, позвонила и спросила, не хочу ли я написать книгу про R. К этому времени я уже написал 50 статей в научных журналах, четыре технических руководства, многочисленные главы в книгах и целую книгу по методологии исследования, так чего же тут могло быть сложного?
Рискую повториться – знаменитые последние слова.
Предисловие Книгу, которую вы держите в руках, я мечтал иметь много лет назад. Я постарался написать для вас путеводитель по R, который позволит быстро овладеть всей мощью этой замечательной программы с открытым кодом без разочарования и раздражения, которые пришлось испытать мне. Надеюсь, вам понравится.
P.S. Мне предложили ту должность, но я отказался. Однако знакомство с R развернуло мою карьеру в совершенно неожиданном направлении. Жизнь может быть забавной штукой.
ОБ ЭТОЙ КНИГЕ
Если вы выбрали эту книгу, скорее всего у вас есть какие-то данные, которые нужно собрать в единое целое, преобразовать, исследовать, смоделировать, визуализировать или представить коллегам. Если это так, то R создан для вас! R стал всемирно известным языком программирования для статистического анализа, предсказаний и визуализации данных. В этой программе реализовано множество методов анализа данных, от самых простых до самых сложных и современных.Эта программа с открытым кодом работает под разными операционными системами, включая Windows, Mac OS X и Linux. Она развивается постоянно, новые методы появляются ежедневно. Кроме того, R поддерживается большим и разнородным сообществом ученых и программистов, которые охотно помогут новичку советами.
Хотя программа R, возможно, больше известна за способность создавать красивые и сложные диаграммы, она может справиться с любой статистической задачей. Базовая версия содержит сотни функций для статистического анализа, управления данными и построения диаграмм. Однако некоторые особенно мощные методы реализованы в дополнительных пакетах, созданных независимыми авторами.
Эта широта возможностей имеет свою цену. Для новичков бывает сложно понять, что такое R и как в ней работать. Даже самые опытные пользователи R с удивлением обнаруживают какие-то возможности, о которых они не подозревали.
«R в действии» представляет собой руководство-путеводитель по R, позволяя в общих чертах ознакомиться с самой программой и ее возможностями. В книге описаны наиболее полезные функции базовой версии и более 90 наиболее часто используемых дополнительных пакетов. На всем протяжении книги акцент делается на практическое применение – на то, чтобы вы, руководствуясь прочитанным, могли проанализировать ваши данные и изложить результаты коллегам. По окончании чтения этой книги вы будете иметь хорошее представление о том, как R работает, и где можно получить дополнительную информацию. Вы научитесь применять разнообразные методы для визуалиОб этой книге зации данных и обретете достаточно умений, чтобы справиться как с простыми, так и со сложными задачами анализа данных.
Кому следует прочесть эту книгу Книга «R в действии» предназначена для любого, кто имеет дело с данными. Опыт в статистическом программировании не требуется.
Хотя эта книга доступна и новичкам, в ней содержится достаточно нового и полезного материала, чтобы удовлетворить запросы даже опытных специалистов по R.
Пользователи, не владеющие познаниями в области статистики, которые хотят использовать R для управления данными, их обобщения и представления в графическом виде, смогут легко понять главы 1–6, 11 и 16. Главы 7 и 10 подразумевают, что вы прослушали вводный курс статистики, а главы 8, 9 и 12–15 потребуют более глубоких познаний в этой области. Однако я старался написать каждую главу так, чтобы в ней было что-то интересное и полезное и для новичков и для опытных статистиков.
Структура книги Эта книга создана как путеводитель по программе R, с акцентом на методы, которые можно сразу применить для управления данными, их визуализации и осмысления. Книга состоит из 16 глав, сгруппированных в четыре части: «Начало работы», «Базовые методы», «Методы средней сложности» и «Методы повышенной сложности». Дополнительные темы рассмотрены в восьми приложениях.
Глава 1 начинается с обзора программы в целом и характеристик, которые делают ее столь полезной для обработки данных. В главе рассказано, как установить программу и как расширить ее возможности путем установки доступных в Сети дополнительных пакетов.
Оставшаяся часть главы посвящена описанию интерфейса программы и рассказу о том, как запускать ее в интерактивном и пакетном режимах.
В главе 2 описаны многие методы импорта данных в программу.
Первая половина главы посвящена характеристике типов данных в R и тому, как вводить данные с клавиатуры. Во второй половине главы обсуждаются способы импорта данных из текстовых файлов, вебстраниц, электронных таблиц, других статистических программ и баз данных.
Многие пользователи изначально выбрают R потому, что они хотят создавать диаграммы, так что мы сразу переходим к этой теме в главе 3. Вам не понадобится долго ждать. Мы обсуждаем, как создавать диаграммы, изменять их и сохранять в разных форматах.
Глава 4 посвящена основам управления данных, включая сортировку, объединение и разбиение наборов данных, а также преобразование, перекодировку и удаление переменных.
Глава 5 основана на главе 4 и содержит описание функций (математических, статистических, текстовых) и управляющих конструкций (циклы, выполнение при условии) для управления данными. Затем мы обсуждаем, как написать вашу собственную функцию в R и как сгруппировать данные различными способами.
В главе 6 рассказано, как создавать наиболее распространенные одномерные диаграммы, такие как столбчатая и круговая диаграмма, диаграмма распределения плотности, диаграмма размахов («ящик с усами») и точечная диаграмма. Все эти диаграммы полезны для изучения характера распределения значений одной переменной.
Глава 7 начинается с описания того, как находить общие характеристики данных, включая использование описательных статистик и сводных таблиц. Затем мы рассматриваем основные способы изучения взаимосвязи между двумя переменными, включая корреляцию, тест Стьюдента, тест хи-квадрат и непараметрические методы.
Глава 8 посвящена применению регрессионных методов для моделирования взаимосвязи между числовой переменной-откликом (outcome variable) и набором из одной или нескольких независимых переменных (predictor variables). Подробно рассмотрены методы подгонки этих моделей, оценки их адекватности и интерпретации их значений.
В главе 9 рассмотрены основные типы планов экспериментов при дисперсионном анализе и его разновидностях. В этой ситуации нас обычно интересует, как комбинации разных типов воздействия или разных условий влияют на числовую переменную-отклик. Также описаны методы оценки адекватности анализа и визуализации результатов.
Детальное описание анализа мощности статистических тестов – предмет главы 10. Она начинается с обсуждения проблемы проверки гипотез; далее описано, как определить объем выборки, необходимый для выявления эффекта заданной величины при заданном уровне достоверности. Это поможет вам повысить вероятность достижения желаемого результата при планировании экспериментов.
Глава 11 – это продолжение главы 5. В ней рассказано, как создать диаграммы для визуализации связей между двумя и более переменными. Обсуждаются разные типы двух- и трехмерных диаграмм Об этой книге рассеяния, матриц диаграмм рассеяния, графиков, коррелограмм и мозаичных диаграмм.
В главе 12 представлены аналитические методы, которые хорошо работают, когда данные происходят из неизвестных или смешанных типов распределения, когда размеры выборок малы, когда выбросы представляют собой проблему или когда разработка статистического теста на основании наблюдаемого распределения слишком сложна. Это метод повторной выборки (resampling) и бутстреп-анализ (bootstrapping) – подходы, требующие большого объема вычислений и легко реализуемые в R.
Глава 13 описывает, как применять регрессионный анализ, рассмотренный в главе 8, к данным с распределением, отличным от нормального. Глава начинается с описания обобщенных линейных моделей. Затем более подробно рассматриваются случаи, когда нужно предсказать переменную-отклик, представленную либо категориальными (логистическая регрессия), либо счетными данными (пуассоновская регрессия).
Одна из сложностей, связанных с многомерными данными – это проблема снижения их размерности. В главе 14 описаны методы, с помощью которых большое число коррелирующих друг с другом переменных преобразуется в меньший набор независимых переменных (анализ главных компонент), а также методы обнаружения скрытой структуры в имеющемся наборе переменных (факторный анализ).
Детально разобраны многочисленные этапы этих типов анализа.
В соответствии с нашим намерением описать актуальные методы анализа данных глава 15 посвящена современным подходам к решению распространенной проблемы пропущенных значений в данных.
В R реализованы разнообразные изящные подходы к анализу неполных в силу разных причин данных. Здесь описаны лучшие из этих методов, вместе с разъяснениями, когда сто ит применять каждый из них, а какие – лучше избегать.
Глава 16 завершает обсуждение диаграмм рассмотрением некоторых наиболее сложных и полезных методов визуализации данных.
Рассмотрена визуализация очень сложных данных с использованием панельной (или категоризированной) графики, даны основные сведения о новом пакете ggplot2, также кратко описаны способы работы с диаграммами в режиме реального времени.
В послесловии перечислены многие из лучших сайтов, которые следует посетить, чтобы научиться работать в R, влиться в сообщество пользователей R, получить ответы на возникшие вопросы и отОб этой книге слеживать изменения в этом стремительно развивающемся программном продукте.
И, последнее, но не менее важное, восемь приложений (от A до H) содержат дополнительные сведения по таким полезным темам, как пользовательский интерфейс, настройка и обновление программы, экспорт данных, получение результатов высокого полиграфического качества, использование R для матричной алгебры (по образцу MATLAB) и работа с большими объемами данных.
Примеры Для того чтобы сделать книгу настолько широко применимой, насколько возможно, я выбрал примеры из разных областей знаний, включая психологию, социологию, медицину, биологию, бизнес и технические науки. Ни один из примеров не требует специальных знаний в соответствующей области.
Наборы данных, используемые в этих примерах, были выбраны потому, что они позволяют формулировать интересные вопросы и имеют небольшой размер. Это позволяет сосредоточиться на рассматриваемом методе и быстро понять происходящее. Когда учишься новым методам, меньше – значит лучше.
Наборы данных либо поставляются с базовой версией R, либо доступны в составе дополнительных пакетов, которые можно скачать из Интернета. Программный код для каждого примера размещен на сайте http://www.manning.com/RinAction. Для получения максимальной отдачи от этой книги я рекомендую выполнять примеры по ходу их прочтения.
В заключение нужно вспомнить известную сентенцию, которая гласит, что если спросить двух статистиков, как анализировать определенный набор данных, получишь три разных ответа. Можно понимать этот афоризм по-разному – ведь каждый ответ приблизит вас к пониманию данных. Я не утверждаю, что предлагаемый мной тот или иной способ анализа данных – лучший или единственный путь к решению конкретной задачи. Я предлагаю вам применить разные подходы к данным, используя знания, приобретенные во время чтения книги, и посмотреть, что вы сможете узнать. R – интерактивная программа, и лучший способ чему-то научиться в ней – это экспериментировать.
Принятые обозначения В книге использованы следующие типографские обозначения:
• моноширинный шрифт использован для программного кода, который нужно вводить именно так, как указано в книге;
Об этой книге • моноширинный шрифт также использован внутри основного текста для обозначения фрагментов кода или ранее упомянутых объектов;
• курсив внутри программного кода – это указатель места заполнения. Его следует заменять подходящим текстом или значениями, соответствующими вашей задаче. Например, путь_к_моему_файлу должен быть заменен указанием пути к реальному файлу на вашем компьютере;
• R – это интерактивный язык, который информирует пользователя о готовности принять команду приглашением (> по умолчанию). Многие фрагменты программного кода в книге скопированы из интерактивных сессий. Если вы видите строки кода, которые начинаются с >, не набирайте этот символ приглашения к вводу команды;
• пояснения к программному коду приведены в виде внутритекстовых комментариев. В дополнение к этому некоторые пояснения обозначены нумерованными кружками, такими как, которые отсылают к объяснению ниже по тексту;
• для того чтобы сэкономить место или сделать текст более понятным, мы иногда добавляли в вывод результатов интерактивных сессий дополнительные пробелы или удаляли текст, который напрямую не относился к обсуждаемой теме.
Об авторе Доктор наук Роберт Кабаков – вице-президент по исследовательской работе (Vice President of Research) в Группе Исследований Менеджмента (Management Research Group – MRG), международной фирме, специализирующейся на организационном развитии и консалтинге.
У него за спиной более 20 лет опыта в сфере исследовательских и статистических консультаций в областях заботы о здоровье, финансовых операций, производства, бихевиоризма, управления и академической науки. Прежде чем присоединиться к MRG, Р. Кабаков был профессором психологии в Юго-Восточном Университете Нова (Nova Southeastern University) во Флориде, где он преподавал количественные методы и статистическое программирование в магистратуре. В последние два года он поддерживает сайт Quick-R – учебное пособие по R.