R в действии. Анализ и визуализация данных в программе R
Покупка
Тематика:
Базы и банки данных. СУБД
Издательство:
ДМК Пресс
Автор:
Кабаков Роберт И.
Перевод:
Волкова Полина Андреевна
Год издания: 2014
Кол-во страниц: 588
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-97060-077-1
Артикул: 652916.02.99
К покупке доступен более свежий выпуск
Перейти
R - это мощный язык для статистических вычислений и графики, который может справиться поистине с любой задачей в области обработки данных. Он работает во всех важных операционных системах и поддерживает тысячи специализированных модулей и утилит. Все это делает R замечательным средством для извлечения полезной информации из гор сырых данных. «R в действии» - это руководство по обучению этому языку с особым вниманием к практическим задачам. В данной книге представлены полезные примеры статистической обработки данных и описаны изящные методы работы с запутанными и неполными данными, а также с данными, распределение которых отлично от нормального и с которыми трудно справиться обычными методами. Статистический анализ - это только одна сторона дела. Вы также овладеете обширными графическими возможностями для визуального исследования и представления данных.
Тематика:
ББК:
УДК:
- 004: Информационные технологии. Вычислительная техника...
- 311: Теория статистики. Статистические методы
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- ВО - Магистратура
- 09.04.01: Информатика и вычислительная техника
ГРНТИ:
Скопировать запись
R в действии. Анализ и визуализация данных с использованием R и Tidyverse, 2023, 652916.05.99
R в действии. Анализ и визуализация данных на языке R, 2023, 652916.03.99
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
Роберт И. Кабаков R в действии Анализ и визуализация данных в программе R
M A N N I N G SHELTER ISLAND Data analysis and graphics withR ROBERT I. KABACOFF R in Action
Москва, 2014 Анализ и визуализация данных в программе R РОБЕРТ И. КАБАКОВ R в действии
УДК 311:004.9R ББК 60.6с515 К12 К12 Роберт И. Кабаков R в действии. Анализ и визуализация данных в программе R / пер. с англ. Полины А. Волковой. – М.: ДМК Пресс, 2014. – 588 с.: ил. ISBN 978-5-97060-077-1 R – это мощный язык для статистических вычислений и графики, который может справиться поистине с любой задачей в области обработки данных. Он работает во всех важных операционных системах и поддерживает тысячи специализированных модулей и утилит. Все это делает R замечательным средством для извлечения полезной информации из гор сырых данных. «R в действии» – это руководство по обучению этому языку с особым вниманием к практическим задачам. В данной книге представлены полезные примеры статистической обработки данных и описаны изящные методы работы с запутанными и неполными данными, а также с данными, распределение которых отлично от нормального и с которыми трудно справиться обычными методами. Статистический анализ – это только одна сторона дела. Вы также овладеете обширными графическими возможностями для визуального исследования и представления данных. УДК 311:004.9R ББК 60.6с515 Original English language edition published by Manning Publications Co., Rights and Contracts Special Sales Department, 20 Baldwin Road, PO Box 261, Shelter Island, NY 11964. ©2012 by Manning Publications Co.. Russian-language edition copyright © 2013 by DMK Press. All rights reserved. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1-93518-239-9 (англ.) ©2012 by Manning Publications Co. ISBN 978-5-97060-077-1 (рус.) © Оформление, перевод на русский язык ДМК Пресс, 2014
ОТ ПЕРЕВОДЧИКА По моему глубокому убеждению, на сегодняшний день это лучшая книга, посвященная обработке данных в статистической среде R, для неспециалистов. Я рада, что теперь она стала доступной русскоязычным читателям. Надеюсь, мой перевод не сильно испортил эту книгу. По крайней мере, в некоторых местах она точно стала лучше, потому что я исправила довольно многочисленные и не всегда безобидные опечатки, обнаруженные в исходном издании мною и другими читателями, которые оставили свои отзывы на форуме издательства. Я благодарю Александра Лободу, который рассказал мне о существовании данной книги, Дмитрия Мовчана, с энтузиазмом воспринявшего мое предложение опубликовать ее перевод, Бориса Демешева за консультации по переводу некоторых статистических терминов и Алексея Шипунова за техническую поддержку. Я особенно признательна Сергею Петрову и Сергею Мастицкому за внимательное прочтение рукописи перевода и конструктивные замечания.
ОГЛАВЛЕНИЕ От переводчика ..................................................5 Предисловие ................................................... 15 Благодарности ................................................. 18 Об этой книге ................................................... 20 Об иллюстрации на обложке ............................... 26 ЧАСТЬ I. Начало работы ................................................. 27 Глава 1. Знакомство с R ..................................... 30 1.1. Зачем использовать R? ..................................................... 32 1. 2. Получение и установка R .................................................. 35 1.3. Работа в R ......................................................................... 35 1.3.1. Начало работы ......................................................................36 1.3.2. Как получить помощь ............................................................39 1.3.3. Рабочее пространство...........................................................40 1.3.4. Ввод и вывод .........................................................................43 1.4. Пакеты .............................................................................. 44 1.4.1. Что такое пакеты? .................................................................44 1.4.2. Установка пакета ...................................................................46 1.4.3. Загрузка пакета .....................................................................46 1.4.4. Получение информации о пакете ..........................................46 1.5. Пакетная обработка .......................................................... 47 1.6. Использование вывода в качестве ввода – повторное использование результатов .................................................... 48 1.7. Работа с большими массивами данных ............................. 49 1.8. Учимся на примере ........................................................... 49 1.9. Резюме ............................................................................. 51 Глава 2. Создание набора данных ........................ 52 2.1. Что такое набор данных? ................................................... 53 2.2. Структуры данных ............................................................. 54 2.2.1. Векторы ................................................................................55 2.2.2. Матрицы ...............................................................................56 2.2.3. Массивы данных ...................................................................58
Оглавление 2.2.4. Таблицы данных ....................................................................59 2.2.5. Факторы ................................................................................63 2.2.6. Списки ..................................................................................65 2.3. Ввод данных...................................................................... 67 2.3.1. Ввод данных с клавиатуры .....................................................68 2.3.2. Импорт данных из текстового файла с разделителями ..........69 2.3.3. Импорт данных из Excel .........................................................71 2.3.4. Импорт данных из XML-файлов .............................................72 2.3.5. Извлечение данных из веб-страниц.......................................72 2.3.6. Импорт данных из SPSS ........................................................72 2.3.7. Импорт данных из SAS ..........................................................73 2.3.8. Импорт данных из Stata .........................................................73 2.3.9. Импорт данных из netCDF .....................................................74 2.3.10. Импорт данных из HDF5 ......................................................74 2.3.11. Импорт данных из систем управления базами данных .........75 2.3.12. Импорт данных при помощи Stat/Transfer ............................77 2.4. Аннотирование наборов данных ........................................ 77 2.4.1. Подписи для переменных ......................................................78 2.4.2. Пояснение значений переменных .........................................78 2.5. Полезные функции для работы с объектами ...................... 79 2.6. Резюме ............................................................................. 80 Глава 3. Начало работы с диаграммами ................ 81 3.1. Работа с диаграммами ...................................................... 82 3.2. Простой пример ................................................................ 84 3.3. Графические параметры ................................................... 86 3.3.1. Символы и линии ..................................................................87 3.3.2. Цвета ....................................................................................88 3.3.3. Характеристики текста ..........................................................90 3.3.4. Размеры диаграммы и полей ................................................93 3.4. Добавление текста, настройка параметров осей и условных обозначений .......................................................... 95 3.4.1. Заголовки .............................................................................95 3.4.2. Оси .......................................................................................96 3.4.3. Опорные линии .....................................................................99 3.4.4. Легенда ...............................................................................100 3.4.5. Аннотации ...........................................................................102 3.5. Объединение диаграмм .................................................. 105 3.5.1. Полный контроль над расположением диаграмм.................110 3.9. Резюме ........................................................................... 112 Глава 4. Основы управления данными ................ 113 4.1. Рабочий пример .............................................................. 113 4.2. Создание новых переменных .......................................... 116 4.3. Перекодировка переменных ........................................... 117 4.4. Переименование переменных ......................................... 119
Оглавление 4.5. Пропущенные значения .................................................. 121 4.5.1. Перекодировка значений в отсутствующие .........................122 4.5.2. Исключение пропущенных значений из анализа ..................122 4.6. Календарные даты как данные ........................................ 124 4.6.1. Преобразование дат в текстовые переменные ....................126 4.6.2. Получение дальнейшей информации ..................................126 4.7. Преобразования данных из одного типа в другой ............ 127 4.8. Сортировка данных ......................................................... 128 4.9. Объединение наборов данных ........................................ 129 4.9.1. Добавление столбцов .........................................................129 4.9.2. Добавление строк ...............................................................130 4.10. Разделение наборов данных на составляющие ............. 130 4.10.1. Выбор переменных ...........................................................130 4.10.2. Исключение переменных ...................................................131 4.10.3. Выбор наблюдений ...........................................................132 4.10.4. Функция subset() ...............................................................133 4.10.5. Случайные выборки ...........................................................134 4.11. Использование команд SQL для преобразования таблиц данных ....................................................................... 135 4.12. Резюме ......................................................................... 136 Глава 5. Более сложные способы управления данными ....................................................... 137 5.1. Задача по управлению данными, которую нужно решить .................................................................................. 138 5.2. Числовые и текстовые функции ....................................... 139 5.2.1. Математические функции ...................................................139 5.2.2. Статистические функции .....................................................140 5.2.3. Функции распределения .....................................................143 5.2.4. Текстовые функции .............................................................148 5.2.5. Другие полезные функции ...................................................149 5.2.6. Применение функций к матрицам и таблицам данных .........151 5.3. Решение нашей задачи по управлению данными ............ 152 5.4. Управление выполнением команд ................................... 157 5.4.1. Повторение и циклы ............................................................158 5.4.2. Выполнение при условии ....................................................159 5.5. Функции, написанные пользователем ............................. 160 5.6. Агрегирование и изменение структуры данных ............... 163 5.6.1. Транспонирование ..............................................................163 5.6.2. Агрегирование данных ........................................................164 5.6.3. Пакет reshape ......................................................................165 5.7. Резюме ........................................................................... 167 ЧАСТЬ II. Базовые методы ............................................ 169
Оглавление Глава 6. Базовые диаграммы ............................ 171 6.1. Столбчатые диаграммы .................................................. 172 6.1.1. Простые столбчатые диаграммы .........................................172 6.1.2. Столбчатые диаграммы: составные и с группировкой .........174 6.1.3. Столбчатые диаграммы для средних значений ....................175 6.1.4. Оптимизация столбчатых диаграмм ....................................177 6.1.5. Спинограммы ......................................................................178 6.2. Круговые диаграммы ...................................................... 179 6.3. Гистограммы ................................................................... 182 6.4. Диаграммы ядерной оценки функции плотности ............. 185 6.5. Диаграммы размахов ...................................................... 188 6.5.1. Использование диаграмм размахов для сравнения групп между собой .......................................................................189 6.5.2. Скрипичные диаграммы ......................................................193 6.6. Точечные диаграммы ...................................................... 194 6.7. Резюме ........................................................................... 197 Глава 7. Основные методы статистической обработки данных........................................... 198 7.1. Описательные статистики ............................................... 199 7.1.1. Калейдоскоп методов .........................................................200 7.1.2. Вычисление описательных статистик для групп данных ......204 7.1.3. Визуализация результатов ..................................................208 7.2. Таблицы частот и таблицы сопряженности ...................... 208 7.2.1. Создание таблиц частот ......................................................209 7.2.2. Тесты на независимость ......................................................216 7.2.3. Показатели взаимосвязи .....................................................218 7.2.4. Визуализация результатов ..................................................219 7.2.5. Преобразование таблиц в неструктурированные файлы .....219 7.3. Корреляции .................................................................... 221 7.3.1. Типы корреляций .................................................................222 7.3.2. Проверка статистической значимости корреляций .............225 7.3.3. Визуализация корреляций ..................................................228 7.4. Тесты Стьюдента ............................................................. 228 7.4.1. Тест Стьюдента для независимых выборок ..........................229 7.4.2. Тест Стьюдента для зависимых выборок .............................230 7.4.3. Когда имеется больше двух групп........................................231 7.5. Непараметрические тесты межгрупповых различий ........ 231 7.5.1. Сравнение двух групп ..........................................................231 7.5.2. Сравнение более двух групп ................................................233 7.6. Визуализация групповых различий ................................. 236 7.7. Резюме ........................................................................... 236 ЧАСТЬ III. Методы обработки данных средней сложности ... 237
Оглавление Глава 8. Регрессия .......................................... 239 8.1. Многоликая регрессия .................................................... 241 8.1.1. Ситуации, в которых используется МНК-регрессия .............242 8.1.2. Что вам нужно знать ............................................................244 8.2. МНК-регрессия ............................................................... 244 8.2.1. Подгонка регрессионных моделей при помощи команды lm().................................................................................245 8.2.2. Простая линейная регрессия ..............................................247 8.2.3. Полиномиальная регрессия ................................................250 8.2.4. Множественная линейная регрессия ...................................253 8.2.5. Множественная линейная регрессия со взаимодействиями .......................................................................257 8.3. Диагностика регрессионных моделей ............................. 259 8.3.1. Стандартный подход ...........................................................260 8.3.2. Усовершенствованный подход ............................................264 8.3.3. Общая проверка выполнения требований, предъявляемых к линейным моделям ...........................................272 8.3.4. Мультиколлинеарность .......................................................273 8.4. Необычные наблюдения .................................................. 274 8.4.1. Выбросы .............................................................................275 8.4.2. Точки высокой напряженности ............................................275 8.4.3. Влиятельные наблюдения ...................................................277 8.5. Способы корректировки.................................................. 281 8.5.1. Удаление наблюдений .........................................................281 8.5.2. Преобразование переменных .............................................281 8.5.3. Добавление или удаление переменных ...............................284 8.5.4. Попытка применить другой подход ......................................284 8.6. Выбор «лучшей» регрессионной модели ......................... 285 8.6.1. Сравнение моделей ............................................................285 8.6.2. Выбор переменных .............................................................286 8.7. Продолжение анализа ..................................................... 291 8.7.1. Кросс-валидация ................................................................292 8.7.2. Относительная важность .....................................................294 8.8. Резюме ........................................................................... 298 Глава 9. Дисперсионный анализ ........................ 299 9.1. Ускоренный курс терминологии ...................................... 300 9.2. Подгонка ANOVA-моделей............................................... 304 9.2.1. Функция aov() ......................................................................304 9.2.2. Порядок членов в формуле ..................................................305 9.3. Однофакторный дисперсионный анализ ......................... 307 9.3.1. Множественные сравнения .................................................308 9.3.2. Проверка справедливости допущений, лежащих в основе теста ..............................................................................312 9.4. Однофакторный ковариационный анализ ....................... 314 9.4.1. Проверка допущений, лежащих в основе теста ...................316
Оглавление 9.4.2. Визуализация результатов ..................................................317 9.5. Двухфакторный дисперсионный анализ .......................... 318 9.6. Дисперсионный анализ для повторных измерений ......... 323 9.7. Многомерный дисперсионный анализ ............................ 326 9.7.1. Проверка предположений, лежащих в основе теста ............328 9.7.2. Устойчивый многомерный дисперсионный анализ ..............330 9.8. Дисперсионный анализ как регрессия ............................ 331 9.9. Резюме ........................................................................... 333 Глава 10. Анализ мощности .............................. 335 10.1. Краткий обзор процедуры проверки гипотез ................. 336 10.2. Проведение анализа мощности при помощи пакета pwr ............................................................................. 339 10.2.1. Тесты Стьюдента ...............................................................340 10.2.2. Дисперсионный анализ .....................................................342 10.2.3. Корреляции .......................................................................343 10.2.4. Линейные модели .............................................................344 10.2.5. Сравнение пропорций .......................................................345 10.2.6. Тесты хи-квадрат ...............................................................346 10.2.7. Выбор подходящего размера эффекта в незнакомых ситуациях .....................................................................................348 10.3. Графический анализ мощности ..................................... 350 10.4. Другие пакеты ............................................................... 352 10.5. Резюме ......................................................................... 354 Глава 11. Диаграммы средней сложности ........... 356 11.1. Диаграммы рассеяния .................................................. 357 11.1.1. Матрицы диаграмм рассеяния ..........................................361 11.1.2. Диаграммы рассеяния высокой плотности ........................367 11.1.3. Трехмерные диаграммы рассеяния ...................................370 11.1.4. Пузырьковые диаграммы ..................................................375 11.2. Линейные графики ........................................................ 377 11.3. Кореллограммы ............................................................ 382 11.4. Мозаичные диаграммы ................................................. 388 11.5. Резюме ......................................................................... 391 Глава 12. Статистика повторных выборок и бутстреп-анализ .......................................... 392 12.1. Перестановочные тесты ................................................ 393 12.2. Перестановочные тесты в пакете coin ........................... 395 12.2.1. Тесты на независимость для двух и k выборок ...................397 12.2.2. Независимость в таблицах сопряженности .......................399 12.2.3. Независимость между числовыми переменными ..............400 12.2.4. Тесты для двух и k зависимых выборок ..............................400 12.2.5. Дополнительная информация ...........................................401
Оглавление 12.3. Перестановочные тесты, реализованные в пакете lmPerm ..................................................................... 401 12.3.1. Простая и полиномиальная регрессия ..............................402 12.3.2. Множественная регрессия ................................................403 12.3.3. Однофакторные дисперсионный и ковариационный анализы ........................................................................................404 12.3.4. Двухфакторный дисперсионный анализ ............................405 12.4. Дополнительные замечания о перестановочных тестах 407 12.5. Бутстреп-анализ ........................................................... 408 12.6. Бутстреп-анализ при помощи пакета boot ..................... 409 12.6.1. Бутстреп-анализ для одной статистики .............................411 12.6.2. Бутстреп-анализ для нескольких статистик .......................413 12.7. Резюме ......................................................................... 416 ЧАСТЬ IV. Продвинутые методы ...................................... 417 Глава 13. Обобщенные линейные модели ........... 419 13.1. Обобщенные линейные модели и функция glm() ........... 420 13.1.1. Функция glm() ....................................................................421 13.1.2. Вспомогательные функции ................................................423 13.1.3. Соответствие модели данным и регрессионная диагностика ..................................................................................424 13.2. Логистическая регрессия .............................................. 425 13.2.1. Интерпретация параметров модели ..................................428 13.2.2. Оценка влияния независимых переменных на вероятность исхода ..................................................................430 13.2.3. Избыточная дисперсия ......................................................431 13.2.4. Дополнительные методы ...................................................432 13.3. Пуассоновская регрессия ............................................. 433 13.3.1. Интерпретация параметров модели ..................................436 13.3.2. Избыточная дисперсия ......................................................437 13.3.3. Дополнительные методы ...................................................439 13.4. Резюме ......................................................................... 442 Глава 14. Главные компоненты и факторный анализ .......................................................... 443 14.1. Выполнение анализа главных компонент и факторного анализа в R ...................................................... 446 14.2. Главные компоненты ..................................................... 447 14.2.1. Выбор необходимого числа компонент .............................449 14.2.2. Выделение главных компонент ..........................................451 14.2.3. Вращение главных компонент ...........................................455 14.2.4. Вычисление значений главных компонент .........................456 14.3. Разведочный факторный анализ ................................... 459
Оглавление 14.3.1. Определение числа извлекаемых факторов ......................460 14.3.2. Выделение общих факторов ..............................................462 14.3.3. Вращение факторов ..........................................................463 14.3.4. Значения факторов ...........................................................467 14.3.5. Другие пакеты для проведения факторного анализа .........468 14.4. Другие модели для латентных переменных ................... 468 14.5. Резюме ......................................................................... 470 Глава 15. Продвинутые методы работы с пропущенными данными ............................... 472 15.1. Этапы работы с пропущенными данными ...................... 474 15.2. Обнаружение пропущенных значений ........................... 476 15.3. Исследование структуры пропущенных данных ............. 477 15.3.1. Представление пропущенных значений в виде таблицы ....478 15.3.2. Визуальное исследование структуры пропущенных данных ..........................................................................................479 15.3.3. Использование корреляции для исследования пропущенных значений ................................................................482 15.4. Выявление источников пропущенных данных и эффекта от них ................................................................... 484 15.5. Рациональный подход ................................................... 486 15.6. Анализ полных строк (построчное удаление) ................. 487 15.7. Метод множественного восстановления пропущенных данных ............................................................. 489 15.8. Другие подходы к пропущенным данным ...................... 495 15.8.1. Попарное удаление ...........................................................496 15.8.2. Простое (нестохастическое) восстановление данных ........496 15.9. Резюме ......................................................................... 497 Глава 16. Продвинутые графические методы ...... 499 16.1. Четыре графические системы R .................................... 500 16.2. Пакет lattice ................................................................... 501 16.2.1. Условные переменные ......................................................507 16.2.2. Функции для изменения формата ячеек ............................509 16.2.3. Группировка переменных ..................................................512 16.2.4. Графические параметры ...................................................518 16.2.5. Расположение диаграмм на странице ...............................519 16.3. Пакет ggplot2 ................................................................ 520 16.4. Интерактивная графика ................................................ 526 16.4.1. Взаимодействие с диаграммами: идентификация точек ............................................................................................527 16.4.2. Пакет playwith ....................................................................527 16.4.3. Пакет latticist .....................................................................529 16.4.4. Создание интерактивной графики при помощи пакета iplots ..................................................................................530
Оглавление 16.4.5. Пакет rggobi ......................................................................532 16.5. Резюме ......................................................................... 533 Послесловие: В погоне за кроликом .................. 535 Приложение A. Графические пользовательские интерфейсы ...... 539 Приложение B. Настройка начальной конфигурации программы ... 543 Приложение C. Экспорт данных из R ....................................... 545 C.1. Текстовый файл с разделителями ................................... 545 C.2. Таблица Excel.................................................................. 545 C.3. Другие статистические программы ................................ 546 Приложение D. Сохранение результатов в пригодном для публикации качестве ................................. 547 D.1. Подготовка отчета типографского качества при помощи пакета Sweave (R + LaTeX) .................................. 548 D.2. Объединение сил с OpenOffice при помощи пакета odfWeave .................................................................... 554 D.3. Комментарии.................................................................. 557 Приложение E. Матричная алгебра в R .................................... 558 Приложение F. Пакеты, упомянутые в этой книге ...................... 561 Приложение G. Работа с большими наборами данных ................ 570 G.1. Эффективное программирование .................................. 571 G.2. Хранение данных вне оперативной памяти ..................... 572 G.3. Аналитические пакеты для больших объемов данных ..... 573 Приложение H. Обновление версии R ...................................... 574 Список литературы ......................................... 576 Указатель пакетов и функций ............................ 581
ПРЕДИСЛОВИЕ Что толку в книжке, если в ней нет ни картинок, ни разговоров? Алиса. «Алиса в Стране чудес»1 Оно чудесно и наделено сокровищами, способными удовлетворить всех от мала до велика, но не предназначено для робких духом. Кью. Сериал «Звездный путь: следующее поколение» Когда я начал писать эту книгу, я потратил достаточно много времени в поисках хорошего эпиграфа. В итоге я остановился на этих двух. 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 развернуло мою карьеру в совершенно неожиданном направлении. Жизнь может быть забавной штукой.
БЛАГОДАРНОСТИ Многие люди приложили значительные усилия, чтобы сделать эту книгу лучше: • в первую очередь это Марьян Бейс (Marjan Bace), глава издательства Маннинг (Manning), которая предложила мне написать эту книгу; • Себастьян Стирлинг (Sebastian Stirling), редактор-консультант по аудитории (development editor), который провел многие часы в телефонных беседах со мной, помогая выстроить материал, прояснить основные идеи и в целом сделать текст более интересным. Он также помог мне на многих этапах подготовки книги к изданию; • Карен Тегмейер (Karen Tegtmeyer), редактор-рецензент (review editor), которая помогла найти рецензентов и координировала процесс рецензирования; • Мэри Пиргис (Mary Piergies), которая помогала следить за процессом подготовки книги к печати, и ее команду: Лиз Велч (Liz Welch), Сьюзан Харкинс (Susan Harkins) и Рахель Шредер (Rachel Schroeder); • Пабло Доминик Васелли (Pablo Dominguez Vaselli), корректор, который помог обнаружить ошибки и свежим опытным взглядом проверил программный код; • рецензенты, которые потратили много времени на внимательное чтение текста, находили опечатки и делали ценные замечания: Крис Вилльямс (Chris Williams), Чарльз Мальпас (Charles Malpas), Анжела Стейплз (Angela Staples), Даниэль Рейс Перейра (Daniel Reis Pereira), Д.Х. Ван Райн (D. H. van Rijn), Кристиан Маркуардт (Christian Marquardt), Амос Фоларин (Amos Folarin), Стюарт Джеффрис (Stuart Jefferys), Дрор Берел (Dror Berel), Патрик Брин (Patrick Breen), Элизабет Островски (Elizabeth Ostrowski), Атеф Оуни (Atef Ouni), Карл Феноллоза (Carles Fenollosa), Рикардо Питробон (Ricardo Pietrobon), Самуэль МакКвилин (Samuel McQuillin),
Благодарности Ландон Кокс (Landon Cox), Августин Циглер (Austin Ziegler), Рик Вагнер (Rick Wagner), Райн Кокс (Ryan Cox), Сумит Пал (Sumit Pal), Филипп К. Джанер (Philipp K. Janert), Дипак Вохра (Deepak Vohra) и Софи Мормеде (Sophie Mormede); • многие участники программы раннего доступа издательства Маннинг (Manning Early Access Program, MEAP). Каждый из перечисленных людей сделал эту книгу лучше и полнее. Я также хотел бы поблагодарить многочисленных разработчиков, которые и сделали R такой мощной платформой для анализа данных. Этот список включает не только основную команду разработчиков, но и многочисленных самоотверженных людей, которые создали и поддерживают дополнительные пакеты, значительно расширяющие возможности R. В приложении F перечислены авторы всех пакетов, упомянутых в этой книге. Отдельно я хотел бы упомянуть Джона Фокса (John Fox), Хадли Викхама (Hadley Wickham), Франка Е. Харрела-мл. (Frank E. Harrell), Дипаяна Саркара (Deepayan Sarkar) и Вилья ма Ревилла (William Revelle), работами которых я восхищаюсь. Я старался как следует отразить их вклад, а ответственность за все ошибки и искажения, непреднамеренно допущенные в этой книге, лежит исключительно на мне. На самом деле мне следовало бы начать эту книгу с благодарности моей жене и другу Кэрол Линн (Carol Lynn). Хотя она особенно не интересуется статистикой или программированием, она неоднократно прочитала каждую главу и сделала бесчисленные исправления и предложения. Никаким другим способом нельзя выразить свою любовь к другому человеку лучше, чем прочесть ради него текст по многомерной статистике. Столь же важно, что она переживала многие вечера и выходные, которые я проводил в работе над этой книгой, с тактом, поддержкой и сочувствием. И за что это мне так повезло? Есть еще два человека, которых я хочу поблагодарить. Один из них – мой отец, любовь которого к науке вдохновляла меня и помогла понять ценность полученных данных. Другой человек – Гари К. Бургер (Gary K. Burger), мой руководитель в магистратуре. Гари заинтересовал меня статистикой и преподаванием, в то время как я собирался стать врачом. Это все он.
К покупке доступен более свежий выпуск
Перейти