Тази книга ще ви помогне да усвоите принципите на програмирането с R. Това е мощен език за математически и статистически анализ на данни и създаване на графики, който работи на всички основни операционни системи.
За езика R има налични хиляди готови решения за алгоритми за анализ на данни, които може да свалите от различни репозитори.
В книгата последователно се разглеждат основните функции на езика, видовете пакети и тяхното инсталиране, използването на различните структури от данни, променливи, обекти и класове.
Подробно е обяснен синтаксисът – използването на изрази, константи, оператори, управляващи инструкции, видовете обекти и функции. Застъпени са и обектно-ориентираното програмиране, и приоритетът на операциите.
Особено внимание е отделено на практическото приложение на R за обработка на данни – импорт и експорт, работа с таблици, създаване на диаграми и графики и използване на R в статистиката.
Предоставено е и обяснение на практическото приложение на най-полезните според автора функции. Освен това ще намерите и много работещи примери за R код, които целенасочено са създадени да бъдат различни и нови, в сравнение със стандартните набори, предоставяни с езика.
В края на книгата има описание на процеса на оптимизация на R програмите така, че да ги направите по-бързи, особено при решаването на големи и сложни задачи, както и списък с кратко описание на стандартните функции на R.
Свалете файла data.csv от книгата “R – основи на езика в примери”
Съдържание
Въведение…8
Част 1. Основи на R
Глава 1. Инсталиране на R…10
Версии на R…10
Получаване и инсталиране на R…11
Компилиране на R от изходния код…13
Инсталиране в Windows…13
Инсталиране на macOS…14
Инсталиране на Linux и Unix системи…15
Инсталиране чрез пакетен мениджър…15
Глава 2. Запознаване с потребителския интерфейс…17
2.1. Потребителски интерфейс RGui…17
2.2. Редактиране на командния ред…20
2.3. Команден режим…21
2.4. Алтернативни начини за стартиране на R…23
Като уеб приложение…23
Като сървър…23
Вътре в Emacs…24
RStudio…24
Глава 3. Кратко ръководство за R…25
3.1. Най-прости операции или разширена версия на калкулатора…25
3.2. Въведение във функциите…27
3.3. Малко за променливите…29
3.4. Структури от данни…32
3.5. Обекти и класове…36
3.6. Получаване на помощ…37
Глава 4. Въведение в пакетите…39
4.1. Функция library…39
4.2. Преглед на локалните пакети…40
4.3. Стандартни пакети…41
4.4. Зареждане на пакети…43
4.5. Репозиторита с R пакети…44
4.6. Търсене и инсталиране на пакети вътре в R…45
4.6.1. Графичен потребителски интерфейс на Windows …45
4.6.2. macOS…46
4.6.3. Инсталиране на пакети от конзолата…47
4.6.4. Инсталиране от командния ред на операционната система…48
4.6.5. Инсталиране на пакети от други репозиторита…49
Част 2. Езикът R
Глава 5. Синтаксис на R…50
5.1. Изрази…50
5.1.1. Разделяне на изрази…51
5.1.2. Кръгли скоби…51
5.1.3. Фигурни скоби…52
5.2. Константи…53
5.2.1. Числа (числови вектори)…53
5.2.2. Cимволни вектори…55
5.2.3. Символи…55
5.3. Оператори…57
5.4. Приоритет на операциите…59
5.5. Присвояване…60
5.6. Управляващи структури…61
5.6.1. Условни оператори…61
5.6.2. Цикли…64
5.7. Достъп до структури от данни…66
5.7.1. Оператори на структурите от данни…66
5.7.2. Индексиране чрез числов вектор…66
5.7.3. Индексиране чрез логически вектор…70
5.7.4. Индексиране по име…71
Глава 6. Обекти в R…72
6.1. Прости обекти…72
6.1.1. Вектори…75
6.1.2. Списъци…77
6.2. Други обекти…78
6.2.1. Матрици…78
6.2.2. Масиви…79
6.2.3. Фактори…79
6.2.4. Фреймове с данни…82
6.2.5. Формули…82
6.2.6. Времеви ред…83
6.2.7. Дата и време…85
6.2.8. Съединения…85
6.2.9. Атрибути…86
6.2.10. Клас…90
Глава 7. Функции…92
7.1. Определение за функция…92
7.2. Аргументи на функцията…92
7.3. Връщани стойности…94
7.4. Функции като аргументи…95
7.5. Анонимни функции…96
7.6. Свойства на функции…98
7.7. Ред на аргументите и именувани аргументи…100
Глава 8. Символи. Среди…103
8.1. Символи и тяхното разрешаване…103
8.2. Работа със среди…104
8.3. Глобална среда…106
8.4. Среди и функции…106
8.5. Работа със стека на извикванията…107
8.6. Изчисляване на функции в различни среди…108
8.7. Добавяме обекти в средата…111
8.8. Уведомяване за грешки…112
8.9. Обработка на изключения…113
Глава 9. Обектно ориентирано програмиране…115
9.1. Как е реализирано ООП в R?…116
9.1.1. Ключови идеи…116
9.1.2. Пример за реализация…117
9.2. Обектно ориентирано програмиране в R: класове S4…123
9.2.1. Определяне на класове…123
9.2.2. Нови обекти…126
9.2.3. Достъп до слотове…126
9.2.4. Работа с обекти…127
9.2.5. Създаване на методи за привеждане…127
9.2.6. Методи…128
9.2.7. Управление на методи…130
9.3. Базови класове…131
Глава 10. Ръководство за инсталиране на пакети в R…132
10.1. Проверка за наличие на пакет…132
10.2. Избор на репозитори…133
10.3. Инсталиране на пакет…134
Част 3. Обработка на данни
Глава 11. Импорт и експорт на данни…137
11.1. Непосредствен вход…137
11.2. Съхраняване на данни във файл…140
11.3. Зареждане на данни от файл…142
11.4. Импорт на данни от файлове в други формати…142
11.4.1. Текстови файлове…143
11.4.2. Файлове с разделител…143
11.4.3. Файлове с фиксирана ширина…147
11.4.4. Функция readLines…149
11.4.5. Функции за четене/запис на специфични формати…151
11.5. Експорт на данни с помощта на функцията write.table…152
11.6. Работа с база данни…153
11.6.1. Избор на пакет за работа с БД…153
11.6.2. Запознаване с пакета RODBC и неговото инсталиране…154
Инсталиране на пакета RODBC…155
Използване на RODBC…157
Получаване на данни…158
Глава 12. Работа с таблични данни…162
12.1. Създаване на data frame…162
12.2. Определяне на таблица с данни, базирана на вектори…163
12.3. Избор на число, редове и колони…165
12.4. Избор според условие…167
12.5. Функции head() и tail()…167
12.6. Добавяне на ред и колона…168
12.7. Информация за таблицата: брой редове и колони, техните имена…169
12.8. Сортиране…170
Част 4. Строим диаграми и графики
Глава 13. Пакет ggplot2…172
13.1. Запознаване с пакета: бърз старт…172
13.2. Граматика на графиката…180
13.3. Получаване на набор от данни…183
13.4. Визуализираме набора от данни…183
13.4.1. Инициализация на графиката…183
13.4.2. Добавяме визуални ефекти…184
13.4.3. Статистически преобразувания. Линия на тренда…187
13.4.4. Промяна на геометричен обект…188
13.4.5. Променливи, създадени от stat_…189
13.5. Базова настройка на външния вид…190
13.5.1. Настройка на позицията…190
13.5.2. Построяване на кръгова диаграма…192
13.5.3. Етикети…193
13.6. Фина настройка на външния вид…193
13.7. Теми…196
13.8. Панели…196
13.9. Съхранение на графиката във файл…197
Глава 14. Пакет lattice…199
14.1. Запознаване с пакета…199
14.2. Бърз старт…200
14.3. Използване на функциите на lattice…204
Част 5. Статистика в R
Глава 15. Анализ на данни…211
15.1. Елементарен анализ на данни…211
15.2. Едномерни статистически тестове…221
15.3. Метод на главните компоненти…225
15.4. Факторен анализ…226
15.5. Метод за генериране на повторна извадка…227
Глава 16. Разпределение на вероятностите…230
16.1. Нормално разпределение…230
16.2. Общи параметри на типа на разпределение…234
16.3. Семейства от функции за разпределение…235
Глава 17. Тестове за статистическа мощност…238
17.1. Пример за разработване на експеримент…238
17.2. Разработване на t-тест…239
17.3. Функция power.prop.test…240
17.4. Разработване на тестове за дисперсионен анализ…242
Глава 18. Статистически тестoве…244
18.1. Бинарна класификация…244
18.1.1. Качествени данни…244
18.1.2. Количествени данни…250
18.2. Тестове за качествени данни…253
18.3. Тестове за количествени данни…259
Глава 19. Регресионен анализ в R…264
19.1. Регресия на двойките…264
19.2. Сравняване на регресии…268
19.2.1. Определяне на няколко линейни модела…268
19.2.2. Създаване на таблици с данни с категориални променливи…271
Сравнение…275
Глава 20. Множествена регресия…277
20.1. Подготовка на данните…277
20.2. Анализ…280
20.2.1. Корелация…280
20.2.2. Модел на множествена регресия…281
20.2.3. Доверителни интервали…281
20.2.4. Тест на Дърбин-Уотсън…282
20.2.5. Графики на частичните остатъци…282
Вместо заключение…284
Приложение 1. Оптимизация на R програмите…285
П1.1. Измерване на производителността на R програмата…285
П1.1.1. Тайминг…285
П1.1.2. Профилиране…286
П1.1.3. Контролираме използването на паметта…289
П1.1.4. Профилиране на използването на паметта…290
П1.2. Оптимизация на вашия R код…291
П1.2.1. Използване на векторни операции…291
П1.2.2. Производителност при търсене в R…295
П1.2.3. Използване на бази данни за обследване на големи набори от данни…304
П1.2.4. Предварително отделяне на памет…305
П1.2.5. Почистване на паметта…305
П1.2.6. Функции за големи набори от данни…307
П1.3. Други начини за ускоряване на R…307
П1.3.1. R байт код компилатор…307
П1.3.2. Високопроизводителни версии на R…311
Приложение 2. Списък на функциите…316
base…316
Набори от данни…343
boot…343
Функции…343
Набори от данни…345
class…353
Функции…353
cluster…353
Функции…353
Набори от данни…354
codetools…355
foreign…355
Функции…355
grDevices…356
Функции…356
Набори от данни…360
graphics…360
Функции…360
grid…363
KernSmooth…364
Функции…364
lattice…364
Функции…365
Набори от данни…370
MASS …370
Функции…370
Набори от данни…373