Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Статистический анализ и визуализация данных с помощью R

Покупка
Артикул: 652915.02.99
К покупке доступен более свежий выпуск Перейти
Сегодня язык R является безусловным лидером среди свободно распространяемых систем статистического анализа. Ведущие университеты мира, аналитики крупнейших компаний и исследовательских центров регулярно используют R при проведении научно-технических расчетов и создании крупных информационных проектов. Широкое преподавание статистики на базе этой системы и всемерная поддержка научным сообществом обусловили то, что приведение скриптов кода на языке R постепенно становится общепризнанным стандартом как в журнальных публикациях, так и при неформальном общении ученых всего мира. Настоящая книга дополняет небольшую (пока) коллекцию работ по R на русском языке, обобщая и значительно расширяя совокупность методических сообщений, опубликованных ранее одним из авторов в блоге «R: Анализ и визуализация данных» (http://r-analytics.blogspot.com). Книга адресована студентам, аспирантам, а также молодым и состоявшимся ученым, желающим освоить классические и современные методы анализа данных с использованием языка R.
Мастицкий, С. Э. Статистический анализ и визуализация данных с помощью R : практическое руководство / С. Э. Мастицкий, В. К. Шитиков. - Москва : ДМК Пресс, 2015. - 496 с. - ISBN 978-5-97060-301-7. - Текст : электронный. - URL: https://znanium.com/catalog/product/1873503 (дата обращения: 29.03.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Статистический анализ 
и визуализация данных 
с помощью R

Москва, 2015

Мастицкий С. Э., Шитиков В. К.

УДК 311:004.9R
ББК 60.6с515
 
М32

 
 
Мастицкий С. Э., Шитиков В. К.
М32 Статистический анализ и визуализация данных с помощью R. – М.: ДМК 
Пресс, 2015. – 496 с.: цв. ил. 

 
ISBN 978-5-97060-301-7

Сегодня язык R является безусловным лидером среди свободно распространяемых систем 
статистического анализа. Ведущие университеты мира, аналитики крупнейших компаний и исследовательских центров регулярно используют R при проведении научно-технических расчетов 
и создании крупных информационных проектов. Широкое преподавание статистики на базе этой 
системы и всемерная поддержка научным сообществом обусловили то, что приведение скриптов 
кода на языке R постепенно становится общепризнанным стандартом как в журнальных публикациях, так и при неформальном общении ученых всего мира. Настоящая книга дополняет небольшую 
(пока) коллекцию работ по R на русском языке, обобщая и значительно расширяя совокупность 
методических сообщений, опубликованных ранее одним из авторов в блоге «R: Анализ и визуализация данных» (http://r-analytics.blogspot.com).
Книга адресована студентам, аспирантам, а также молодым и состоявшимся ученым, желающим 
освоить классические и современные методы анализа данных с использованием языка R.

 
УДК  311:004.9R
 
ББК 60.6с515

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой 
бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность 
технических ошибок все равно существует, издательство не может гарантировать абсолютную 
точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.

 
© Мастицкий С. Э., Шитиков В. К., 2015
ISBN 978-5-97060-301-7               
© Оформление, издание, ДМК Пресс, 2015

Посвящаю эту книгу своим родителям.
Сергей Мастицкий 

Всем заинтересованным читателям,
без которых книги вообще не имеют смысла...
Владимир Шитиков

Содержание

Предисловие ......................................................... 10

Глава 1. Основные компоненты статистической 
среды R ................................................................ 13

1.1. История возникновения и основные принципы организации среды R ............13
1.2. Работа с командной консолью .........................................................................................17
1.3. Работа с меню R Commander ............................................................................................20
1.4. Объекты, пакеты, функции, устройства .......................................................................24

Глава 2. Описание языка R ....................................... 31

2.1. Типы данных ..........................................................................................................................31
2.2. Векторы и матрицы .............................................................................................................32
2.3. Факторы ..................................................................................................................................38
2.4. Списки и таблицы данных ................................................................................................40
Заполнение пустых значений ...........................................................................................45
Сортировка таблиц ..............................................................................................................46
Объединение таблиц ...........................................................................................................46
2.5. Импортирование данных в R ...........................................................................................47
2.6. Представление дат и времени. Временные ряды ......................................................51
Форматы представления дат и времени .......................................................................51
Вычисления с датами и временем ...................................................................................52
Преобразование текстовых переменных в машинный формат времени ..........53
Временные ряды ...................................................................................................................54
2.7. Организация вычислений: функции, ветвления, циклы  .......................................56
Написание собственных функций ..................................................................................57
Условия и циклы ...................................................................................................................59
2.8. Векторизованные вычисления в R .................................................................................61

Глава 3. Базовые графические возможности R ............ 70

3.1. Функция plot() и ее параметры  .....................................................................................70
Управляющие параметры функции plot() ..................................................................73
Общие аргументы графических функций ...................................................................74
3.2. Гистограммы, функции ядерной плотности и функция cdplot() ........................79
3.3. Диаграммы размахов ...........................................................................................................87
3.4. Круговые и столбиковые диаграммы ............................................................................91

Содержание  5

3.5. Диаграммы Кливленда и одномерные диаграммы рассеяния  .............................99
3.6. Категоризованные графики ........................................................................................... 107

Глава 4. Описательная статистика, подгонка 
распределений и смежные задачи ...........................114

4.1. Базовые функции для расчета параметров описательной статистики ........... 114
4.2. summary() и функции из дополнительных пакетов  ................................................ 118
4.3. Анализ выбросов ............................................................................................................... 121
4.4. Заполнение пропущенных значений в таблицах данных  .................................. 125
4.5. Воспроизводимость результатов при использовании генератора 
случайных чисел  ....................................................................................................................... 131
4.6. Законы распределения вероятностей, реализованные в R  ................................ 134
4.7. Подбор закона и параметров распределения в R ................................................... 136
4.8. Проверка на нормальность распределения  ............................................................. 144
Графические способы ....................................................................................................... 145
Формальные тесты ............................................................................................................ 148

Глава 5. Классические методы статистики .................151

5.1. Гипотеза о равенстве средних двух генеральных совокупностей ..................... 151
Одновыборочный t-критерий  ...................................................................................... 151
Сравнение двух независимых выборок ..................................................................... 153
Сравнение двух зависимых выборок .......................................................................... 155
5.2. Ранговый критерий Уилкоксона-Манна-Уитни .................................................... 157
Одновыборочный критерий Уилкоксона  ................................................................. 157
Сравнение двух независимых выборок ..................................................................... 158
Сравнение двух зависимых выборок .......................................................................... 159
5.3. Рандомизация, бутстреп и оценка статистической мощности 
(на примере двухвыборочного t-критерия) ..................................................................... 161
5.4. Гипотеза об однородности дисперсий ........................................................................ 168
Проверка однородности дисперсии в двух группах .............................................. 168
Проверка однородности дисперсии в нескольких группах ................................ 169
5.5. Введение в дисперсионный анализ ............................................................................. 171
Постановка задачи............................................................................................................. 171
Две оценки генеральной дисперсии в дисперсионном анализе ........................ 174
Выполнение дисперсионного анализа в R ................................................................ 176
Двухфакторный дисперсионный анализ ................................................................... 176
5.6. Оценка корреляции двух случайных величин ........................................................ 180
5.7. Критерий хи-квадрат ....................................................................................................... 184
Критерий хи-квадрат для таблиц сопряженности размером 22 ..................... 184

 Содержание

Критерий хи-квадрат для таблиц сопряженности размером больше 22 ..... 187
5.8. Точный тест Фишера. Критерии Мак-Немара 
и Кохрана-Мантеля-Хензеля ................................................................................................ 187
Точный тест Фишера ........................................................................................................ 187
Критерий Мак-Немара  ................................................................................................... 190
Критерий Кохрана-Мантеля-Хензеля для таблиц сопряженности 
размером 22K  ................................................................................................................ 193
5.9. Оценка статистической мощности при сравнении частот .................................. 197

Глава 6. Дисперсионный анализ ...............................203

6.1.  Протокол разведочного анализа данных  ................................................................. 203
Выявление точек-выбросов ........................................................................................... 204
Проверка однородности групповых дисперсий ...................................................... 205
Проверка на нормальность распределения  ............................................................. 206
Выявление избыточного числа нулевых значений  ............................................... 207
Выявление коллинеарности .......................................................................................... 207
Выявление формы связи между переменными  ..................................................... 210
Выявление взаимодействий между предикторами  .............................................. 212
Влияние пространственно-временных факторов на анализируемую 
переменную .......................................................................................................................... 216
6.2. Дисперсионный анализ как линейная модель ........................................................ 219
6.3. Структура модельных объектов дисперсионного анализа  ................................ 227
6.4. Оценка адекватности модели дисперсионного анализа  ..................................... 230
Проверка исходных предположений общей линейной модели ........................ 230
Проверка условия нормальности распределения .................................................. 231
Проверка условия однородности групповых дисперсий ..................................... 234
Что делать, когда однофакторный дисперсионный анализ неприменим? .... 237
6.5. Дисперсионный анализ по Краскелу-Уоллису ....................................................... 239
6.6. Модели двух- и многофакторного дисперсионного анализа ............................. 241
Синтаксис объекта «формула» ..................................................................................... 242
Выполнение двухфакторного дисперсионного анализа при помощи 
функции lm() ....................................................................................................................... 244
Порядок перечисления предикторов в формуле модели .................................... 246
Многофакторный дисперсионный анализ ............................................................... 248
6.7. Контрасты в линейных моделях, содержащих категориальные 
предикторы .................................................................................................................................. 249
Основные понятия ............................................................................................................ 250
Контрасты комбинаций условий (treatment contrasts) ........................................ 252
Контрасты сумм (sum contrasts) .................................................................................. 254
Контрасты Хелмерта ........................................................................................................ 255

Содержание  7

Контрасты, задаваемые пользователем ..................................................................... 257
6.8. Проблема множественных проверок статистических гипотез  ......................... 258
Поправка Бонферрони..................................................................................................... 261
Метод Холма ....................................................................................................................... 262
Метод Беньямини-Хохберга.......................................................................................... 263
Метод Беньямини-Йекутили  ....................................................................................... 266
6.9. Апостериорные сравнения групповых средних ...................................................... 267
Критерий Тьюки  ............................................................................................................... 268
Методы множественных проверок гипотез, реализованные в пакете 
multcomp .................................................................................................................................. 271

Глава 7. Регрессионные модели зависимостей 
между количественными переменными ....................279

7.1. О понятии «статистическая модель» ......................................................................... 279
Пример простейшей статистической модели .......................................................... 279
Исследование свойств статистических моделей имитационными 
методами ............................................................................................................................... 282
Пример модели с одним количественным предиктором ..................................... 287
Назначение регрессионных моделей .......................................................................... 289
7.2. Простая линейная регрессия: каков возраст Вселенной? ................................... 290
Модель для оценки постоянной Хаббла ................................................................... 291
Доверительные интервалы ............................................................................................. 293
Оценка неопределенности в отношении параметров линейной 
регрессии  ............................................................................................................................. 295
Оценка «качества» регрессионной модели............................................................... 301
7.3. Стандартные методы диагностики линейных моделей ....................................... 304
Проверка допущений в отношении остатков модели ........................................... 304
Проверка адекватности структуры систематической части модели ............... 308
Встроенные диагностические графики ...................................................................... 313
Выявление необычных и влиятельных наблюдений ............................................ 314
7.4. Модели регрессии при разных видах функции потерь ........................................ 325
Два типа регрессионных моделей ................................................................................ 325
Робастные процедуры ...................................................................................................... 329
7.5. Критерии выбора моделей оптимальной сложности ............................................ 331
7.6. Полиномиальные и нелинейные модели регрессии ............................................. 335
Полиномиальная регрессия ........................................................................................... 335
Нелинейная регрессия ..................................................................................................... 338
7.7. Модель множественной регрессии и выбор ее спецификации ......................... 344
Полная модель и обоснование необходимости ее оптимизации ...................... 345
Пошаговые алгоритмы селекции переменных ........................................................ 347

 Содержание

Построение «всех возможных моделей» ................................................................... 348
Пошаговогое включение предикторов в сочетании с перекрестной 
проверкой ............................................................................................................................. 350
7.8. Диагностика моделей множественной регрессии .................................................. 353
Сравнение нескольких альтернативных моделей .................................................. 353
Диагностика допущений в отношении остатков модели ..................................... 354
Учет нелинейного характера влияния предикторов на отклик  ........................ 359
7.9. Регуляризация множественной регрессии ............................................................... 361
Гребневая регрессия .......................................................................................................... 362
Лассо-регрессия Тибширани ......................................................................................... 364
7.10. Регрессия на главные компоненты ........................................................................... 366
7.11. Сравнение эффективности различных моделей при прогнозировании  ..... 372
Формирование исходных данных для построения моделей .............................. 372
Общая линейная модель и ее тестирование на проверочной выборке ........... 374
Выбор информативного комплекса предикторов .................................................. 375
Модели с использованием регуляризации ............................................................... 377
Регрессия на главные компоненты .............................................................................. 380
Результаты и некоторые выводы ................................................................................. 382

Глава 8. Обобщенные, структурные и иные модели 
регрессии ............................................................384

8.1. Модели сглаживания ....................................................................................................... 384
Ядерная модель сглаживания  ...................................................................................... 389
Сплайны ................................................................................................................................ 393
8.2. Обобщенные модели регрессии ................................................................................... 395
8.3. Модели пробит- и логит-регрессии ............................................................................ 399
Пробит-регрессия для моделирования зависимости 
«доза–эффект» ................................................................................................................... 400
Логистическая регрессия ................................................................................................ 407
8.4. Пример использования обобщенных моделей для оценки 
экологической толерантности  ............................................................................................. 411
Модели с нормально распределенным откликом .................................................. 412
Модели с бинарным откликом ...................................................................................... 416
8.5. Ковариационный анализ................................................................................................. 419
8.6. Модели со смешанными эффектами для иерархически организованных 
данных ........................................................................................................................................... 424
Основные идеи ................................................................................................................... 424
Пример с морскими животными: несколько частных моделей ......................... 426
8.7.  Индуктивные модели (метод группового учета аргументов) ........................... 433

Содержание  9

8.8. Моделирование структурными уравнениями  ........................................................ 440

Глава 9. Пространственный анализ и создание 
картограмм ..........................................................451

9.1. Простая карта: использование растрового рисунка и расчет расстояний ..... 451
Использование географических расстояний в статистическом анализе ....... 452
Расчет расстояния между объектами по их географическим 
координатам  ....................................................................................................................... 457
9.2. Анализ пространственного размещения точек ....................................................... 460
9.3. Использование сервисов картографической системы Google Maps ............... 466
9.4. Создание картограмм при помощи R ......................................................................... 469
Шейп-файлы ....................................................................................................................... 470
Функция spplot() из пакета sp ...................................................................................... 474
Создание картограмм при помощи пакета ggplot2 ................................................. 478

Библиография и интернет-ресурсы ..........................484

Основные литературные ссылки по тексту книги ........................................................ 484
Литература по R ................................................................................................................. 484
Общеметодическая литература по статистическому анализу ........................... 485
Библиографический указатель литературы по R .......................................................... 485
Рекомендуемые интернет-ресурсы ..................................................................................... 494
Русскоязычные ресурсы .................................................................................................. 494
Англоязычные ресурсы ................................................................................................... 495

В целях природы обуздания,
Чтобы рассеять незнания тьму,
Берем картину мироздания
И тупо смотрим, что к чему.…

А. и Б. Стругацкие. 
«Понедельник начинается в субботу»

ПРЕДИСЛОВИЕ

Одним из основных инструментов познания мира является обработка данных, 
получаемых человеком из различных источников. Суть современного статистического анализа состоит в интерактивном процессе, состоящем из исследования, 
визуализации и интерпретации потоков поступаемой информации. 
История последних 50 лет – это и история развития технологии анализа данных. Один из авторов этой книги с умилением вспоминает конец 60-х годов и свою 
первую программу расчета парной корреляции, которая набиралась металлическими штыречками на «операционном поле» из 150 ячеек персональной ЭВМ 
«Промiнь-2» весом более 200 кг. В наше время высокопроизводительные компьютеры и доступное программное обеспечение позволяют реализовать полный цикл 
информационно-технологического процесса, состоящего, в общем случае, из следующих шагов: 
 
 доступ к обрабатываемым данным (их загрузка из разных источников 
и комплектация совокупности взаимосвязанных исходных таблиц); 
 
 редактирование загруженных показателей (замена или удаление пропущенных значений, преобразование признаков в более удобный вид); 
 
 аннотирование данных (чтобы помнить, что представляет собой каждый их 
фрагмент);
 
 получение общих сведений о структуре данных (вычисление описательных 
статистик); 
 
 графическое представление данных и результатов вычислений в понятной 
информативной форме (одна картинка на самом деле иногда стоит тысячи 
слов); 
 
 моделирование данных (математическое описание зависимостей и тестирование статистических гипотез); 
 
 оформление результатов (подготовка таблиц и диаграмм приемлемого публикационного качества).
В условиях, когда в распоряжении пользователя имеются десятки пакетов прикладных программ, актуальна проблема выбора (иногда трагичная, если вспомнить «буриданова осла»): какое программное обеспечение анализа данных следует предпочесть для своей практической работы? Здесь обычно принимаются во 
внимание специфика решаемой задачи, эффективность настройки алгоритмов 
обработки, издержки на покупку программ, а также вкусы и личные предпочте
Предисловие  11

ния исследователя. При этом, например, шаблонная Statistica с ее механическим 
комплексом кнопок меню далеко не всегда может удовлетворить творческого исследователя, предпочитающего самостоятельно контролировать ход вычислительного 
процесса. Комбинировать различные типы анализа, иметь доступ к промежуточным 
результатам, управлять стилем отображения данных, добавлять собственные расширения программных модулей и оформлять итоговые отчеты в необходимом виде 
позволяют коммерческие вычислительные системы, включающие высокоуровневые средства командного языка, такие как Matlab, SPSS и др. Прекрасной альтернативой им является бесплатная программная среда R, являющаяся современной 
и постоянно развивающейся статистической платформой общего назначения.
Сегодня R является безусловным лидером среди свободно распространяемых 
систем статистического анализа, о чем говорит, например, тот факт, что в 2010 году система R стала победителем ежегодного конкурса открытых программных 
продуктов Bossie Awards в нескольких номинациях. Ведущие университеты мира, 
аналитики крупнейших компаний и исследовательских центров регулярно используют R при проведении научно-технических расчетов и создании крупных 
информационных проектов. Широкое преподавание статистики на базе пакетов 
этой среды и всемерная поддержка научным сообществом обусловили то, что приведение скриптов R постепенно становится общепризнанным «стандартом» как 
в журнальных публикациях, так и при неформальном общении ученых всего мира.
Главным препятствием для русскоязычных пользователей при освоении R, 
безуслов но, является то, что почти вся документация по этой среде существует на 
английском языке. Лишь с 2008 года усилиями А. В. Шипунова, Е. М. Балдина, 
С. В. Петрова, И. С. Зарядова, А. Г. Буховца, П. А. Волковой и других энтузиастов 
появились методические пособия и книги на русском языке (ссылки на них можно найти в списке литературы в конце этой книги; там же представлены и ссылки 
на образовательные ресурсы, авторами которых делается посильный вклад в продвижение R среди русскоязычных пользователей). Настоящая книга дополняет 
эту небольшую (пока) коллекцию работ по R на русском языке, обобщая совокупность методических сообщений, опубликованных одним из авторов с 2011 года 
в блоге «R: Анализ и визуализация данных» (http://r-analytics.blogspot.com). Нам 
показалась целесообразной идея представить для удобства читателей весь этот несколько разобщенный материал в концентрированной форме, а также расширить 
некоторые разделы для полноты изложения. 
В первых трех главах содержатся подробные указания по работе с интерактивными компонентами R, детальное описание языка и базовых графических возможностей среды. Эта часть книги вполне доступна новичкам в области программирования, хотя читатель, уже знакомый с языком R, может найти там интересные 
фрагменты кода или использовать приведенные описания графических параметров как справочное пособие.
В последующих главах (4–8) приведено описание распространенных процедур 
обработки данных и построения статистических моделей, которое иллюстрировано несколькими десятками примеров. Все эти главы включают краткие описания 
соответствующих алгоритмов анализа, основные полученные в примерах резуль
 Предисловие

таты и их возможную интерпретацию. Мы старались, по возможности, обойтись 
без злоупотребления «ритуальными» словооборотами, характерными для многочисленных руководств по статистике, цитирования общеизвестных теорем и приведения многоэтажных расчетных формул. Акцент делался в первую очередь на 
практическое применение – на то, чтобы читатель, руководствуясь прочитанным, 
мог проанализировать свои данные и изложить результаты коллегам.
Материал выстроен по мере усложнения. Так, главы 4 и 5 ориентированы на 
читателя, интересующегося статистикой лишь в объеме начального университетского курса. В главах 6 и 7 в рамках единой теории общих линейных моделей представлены дисперсионный и регрессионный анализы и приведены различные алгоритмы исследования и структурной идентификации моделей. Глава 8 посвящена 
некоторым современным методам построения и анализа обобщенных линейных 
и иных типов моделей.
Поскольку неизменный интерес у исследователей вызывают пространственный анализ и визуализация данных на географических картах и схемах, в главе 9 
приведены некоторые примеры соответствующих приемов.
Отдельно стоит упомянуть обозначения, принятые в книге. Все команды языка 
R выделены моноширинным шрифтом. При этом имена функций дополнительно выделены полужирным шрифтом, как в этом примере: mean(с(1, 2, 3)). При упоминании 
каких-либо функций в тексте мы всегда добавляем к их именам круглые кавычки, что позволяет отличать функции от других объектов R (например, summary()). 
Результаты вычислений, полученные при использовании той или иной функции, 
выделены шрифтом синего цвета. Наконец, комментарии к коду представлены наклонным шрифтом серого цвета и начинаются со знака #:

# Расчет среднего значения:
mean(c(1, 2, 3))
[1] 2

Мы адресуем эту книгу студентам, аспирантам, а также молодым и состоявшимся ученым, желающим освоить анализ и визуализацию данных с использованием 
среды R. Мы надеемся, что по окончании чтения этого руководства вы получите 
некоторое представление о том, как работает R, где можно получить дальнейшую 
информацию, а также как справиться с широким спектром задач анализа данных.
Файлы со скриптами кода R по всем главам книги и таблицы исходных данных, необходимые для выполнения примеров, свободно доступны для скачивания 
с GitHub-репозитория https://github.com/ranalytics/r-tutorials, а также с сайта 
Института экологии Волжского бассейна РАН по ссылке http://www.ievbras.ru/
ecostat/Kiril/R/Scripts.zip.
Мы будем благодарны Вам, Читатель, за любые замечания и пожелания касательно этой работы, которые Вы можете направлять по электронной почте 
rtutorialsbook@gmail.com.

Сергей Мастицкий, Лондон
Владимир Шитиков, Тольятти
май 2015 года

Глава 1

Основные компоненты 
статистической среды R

1.1. История возникновения и основные принципы 
организации среды R

Система статистического анализа и визуализации данных R состоит из следующих основных частей:
 
 языка программирования высокого уровня R, позволяющего одной строкой 
реализовать различные операции с объектами, векторами, матрицами, списками и т. д.;
 
 большого набора функций обработки данных, собранных в отдельные так 
называемые «пакеты»;
 
 развитой системой поддержки, включающей обновление компонентов среды, интерактивную помощь и различные образовательные ресурсы, предназначенные как для начального изучения R, так и для последующих консультаций по возникающим затруднениям.
Начало пути относится к 1993 г., когда двое молодых новозеландских ученых 
Росс Ихака (Ross Ihaka) и Роберт Джентльмен (Robert Gentleman) анонсировали 
свою новую разработку, которую назвали R. Они взяли за основу язык программирования развитой коммерческой системы статистической обработки данных 
S-PLUS и создали его бесплатную свободную реализацию, отличающуюся от своего прародителя легко расширяемой модульной архитектурой. В скором времени 
возникла распределенная система хранения и распространения пакетов к R, известная под аббревиатурой «CRAN» (Comprehensive R Archive Network – http://
cran.r-project.org), основная идея организации которой – постоянное расширение, 
коллективное тестирование и оперативное распространение прикладных средств 
обработки данных.
Оказалось, что такой продукт непрерывных и хорошо скоординированных усилий мощного «коллективного разума» тысяч бескорыстных разработчиков-интеллектуалов оказался значительно эффективнее коммерческих статистических 
программ, стоимость лицензии на которые может составлять несколько тысяч 
долларов. Поскольку R является любимым языком профессиональных статистиков, все последние достижения статистической науки очень быстро становятся 

 Основные компоненты статистической среды R

доступными для пользователей R во всем мире в виде дополнительных пакетов. 
Ни одна коммерческая система статистического анализа так быстро сегодня не 
развивается. У R есть многочисленная армия пользователей, которые сообщают 
авторам дополнительных пакетов и самой системы R об обнаруженных ошибках, 
которые оперативно исправляются.
Язык вычислений R, хотя и требует определенных усилий для своего освоения, недюжинных поисковых навыков и энциклопедической памяти, позволяет 
оперативно выполнить расчеты, по своему разнообразию практически «столь же 
неисчерпаемые, как атом». По состоянию на конец февраля 2015 г., энтузиастами 
со всего мира было создано 7336 дополнительных библиотек для R, включающих 
149 688 функций (см. http://www.rdocumentation.org), которые существенно расширяют базовые возможности системы. Очень сложно представить какой-либо 
класс статистических методов, который еще не реализован сегодня в виде пакетов 
R, включая, разумеется, весь «джентльменский набор»: линейные и обобщенные 
линейные модели, нелинейные регрессионные модели, планирование эксперимента, анализ временных рядов, классические параметрические и непараметрические тесты, байесовская статистика, кластерный анализ и методы сглаживания. 
При помощи мощных средств визуализации результаты анализа можно обобщать 
в виде всевозможных графиков и диаграмм. Кроме традиционной статистики, 
разработанный функционал включает большой набор алгоритмов численной математики, методов оптимизации, решения дифференциальных уравнений, распознавания образов и др. Свои специфические методы обработки данных могут 
обнаружить в составе пакетов R генетики и социологи, лингвисты и психологи, 
химики и медики, специалисты по ГИС- и веб-технологиям. 
«Фирменная» документация по R весьма объемна и далеко не всегда толково 
написана (по странной традиции англоязычной литературы, слишком много слов 
расходуется на описание тривиальных истин, тогда как важные моменты пробегаются скороговоркой). Однако в дополнение к этому ведущими мировыми издательствами (Springer, Cambridge University Press и Chapman & Hall/CRC) или 
просто отдельными коллективами энтузиастов выпущено огромное число книг, 
описывающих различные аспекты анализа данных в R (см., например, список 
литературы на сайте «Энциклопедия психодиагностики», http://psylab.info/
R:Литература). Кроме того, существует несколько активно действующих международных и российских форумов пользователей R, где любой может попросить 
о помощи в возникшей проблеме. В списке литературы мы приводим пару сотен 
книг и интернет-ссылок, на которые советуем обратить особое внимание в ходе 
изучения R.
Непосредственное обучение практической работе в R состоит из а) освоения 
конструкций языка R и знакомства с особенностями вызова функций, выполняющих анализ данных, и б) приобретения навыков работы с  программами,  реализующими специфические методы анализа и визуализации данных.
Вопрос выбора средств пользовательского интерфейса R неоднозначен 
и сильно зависит от вкусов пользователей. Единого мнения нет даже у авто
ритетных специалистов. Одни считают, что нет ничего лучше стандартного 
консольного интерфейса R. Другие полагают, что для удобной работы стоит 
инсталлировать какую-либо из имеющихся интегрированных сред разработки 
(IDE) с богатым набором кнопочных меню. Например, отличным вариантом 
является бесплатная интегрированная среда разработки RStudio (http://www.
rstudio.com). Ниже мы остановимся на описании консольного варианта и на работе с R Commander, но дальнейшим исканиям читателя может помочь обзор 
различных версий IDE, представленный в приложении к книге А. Шипунова 
с соавторами (2014). 
Один из R-экспертов, Джозеф Рикерт, считает, что процесс изучения R можно разделить на следующие этапы (подробнее см. его статью на сайте http://bit.
ly/1FlOx2E): 
1. Знакомство с общими принципами культуры R-сообщества и программной 
среды, в которой разрабатывался и функционирует язык R. Посещение основных и вспомогательных ресурсов и освоение хорошего вводного учебника. Инсталляция R на компьютере пользователя и выполнение первых 
тестовых скриптов.
2. Считывание данных из стандартных файлов операционной системы и уверенное использование R-функций для выполнения ограниченного набора 
привычных  пользователю процедур статистического анализа.
3. Использование базовых структур языка R для написания простых программ. Написание собственных функций. Ознакомление со структурами 
данных, с которыми может работать R, и более сложными возможностями 
языка. Работа с базами данных, веб-страницами и внешними источниками 
данных.
4. Написание сложных программ на языке R. Самостоятельная разработка и глубокое понимание структуры объектов так называемых S3- и S4классов.
5. Разработка профессиональных программ на языке R. Самостоятельное создание дополнительных модулей для R.
Большинство рядовых пользователей R останавливаются на стадии 3, так как 
полученных к этому времени знаний им вполне достаточно для выполнения статистических задач по профилю их основной профессиональной деятельности. 
Примерно в этом объеме мы и приводим описание языка R в рамках настоящего 
руководства.
Установить и настроить базовую комплектацию статистической среды R весьма просто. На момент написания этой книги актуальной была версия R 3.1.2 для 
Windows (доступны также дистрибутивы для всех других распространенных операционных систем). Скачать дистрибутив системы вместе с базовым набором из 
29 пакетов можно совершенно бесплатно с основного сайта проекта http://cran.rproject.org или его русского «зеркала» http://cran.gis-lab.info. Процесс инсталляции системы из скачанного дистрибутива затруднений не вызывает и не требует 
никаких особых комментариев. 

История возникновения и принципы организации среды R  15

 Основные компоненты статистической среды R

Для удобства хранения скриптов, исходных данных и результатов расчетов 
стоит выделить на пользовательском компьютере специальный рабочий каталог. 
Весьма нежелательно использовать в названии рабочего каталога символы кириллицы. 
Путь к рабочему каталогу и некоторые другие опции настроек целесообразно 
разместить, изменив в любом текстовом редакторе системный файл C:\Program 
Files\R\R-3.1.2\etc\Rprofile.site (на вашем компьютере он может иметь иной 
адрес). В представленном ниже примере модифицированные строки отмечены 
синим цветом. Помимо указания рабочего каталога, эти строки определяют ссылку на российский источник загрузки пакетов R и автоматический запуск R Commander.

Листинг файла Rprofile.site

# Все, что следует за символом комментария "#", средой игнорируется
# options(papersize="a4")
# options(editor="notepad")
# options(pager="internal")

# установить тип отображения справочной информации
# options(help_type="text")
  options(help_type="html")

# установить место расположения локальной библиотеки
# .Library.site <- fi le.path(chartr("\\", "/", R.home()), "site-library")

# При загрузке среды запустить меню R Commander
# Поставить знаки #, если запуск Rcmdr не нужен
 local({
 old <- getOption("defaultPackages")
 options(defaultPackages = c(old, "Rcmdr"))
 })

# Определить зеркало CRAN
 local({r <- getOption("repos")
       r["CRAN"] <- "http://cran.gis-lab"
       options(repos = r)})

# Определить путь к рабочему каталогу (любой иной на вашем компьютере)
setwd("D:/R/Process/Resampling")

Что касается «хорошего вводного учебника», то любые наши рекомендации 
неизбежно будут носить субъективный оттенок. Тем не менее следует упомянуть 
официальное введение в R (Venables & Smith, 2014) и книгу Kabacoff (2011), отчасти еще и потому, что имеется их русский перевод. Отметим также традиционное 
«наставление для чайников» Meys & Vries (2012) и руководства Dalgaard (2008) 
и Lam (2010). Из русскоязычных вводных книг наиболее полными являются работы И. Зарядова (2010а, б) и А. Шипунова с соавторами (2014). 

К покупке доступен более свежий выпуск Перейти