R. К вершинам мастерства
книга

R. К вершинам мастерства

Здесь можно купить книгу "R. К вершинам мастерства" в печатном или электронном виде. Также, Вы можете прочесть аннотацию, цитаты и содержание, ознакомиться и оставить отзывы (комментарии) об этой книге.

Автор: Хэдли Уикем, Мальте Гроссер, Хеннинг Буманн

Форматы: PDF

Издательство: ДМК Пресс

Год: 2024

Место издания: Москва

ISBN: 978-5-93700-247-1 (рус.). – ISBN 978-0-815-38457-1 (англ.)

Страниц: 754

Артикул: 112883

Возрастная маркировка: 16+

Электронная книга
2699

Краткая аннотация книги "R. К вершинам мастерства"

R – безусловно лучшая среда для интерактивного анализа данных. Тем не менее язык R имеет множество особенностей, которые иногда скудно документированы. В данной книге Хэдли Уикем, один из лучших в мире гуру по R, проясняет эти неясные уголки и знакомит с современными библиотеками языка. В книге приведены решения и подробные комментарии ко всем упражнениям.Издание предназначено программистам R, желающим углубить свои знания, а также будет полезно разработчикам на других языках, стремящимся узнать, что же делает язык R таким особенным.

Содержание книги "R. К вершинам мастерства : с решениями и комментариями"


От издательства
О переводчике
Предисловие
Глава 1 Введение
1.1 Почему R
1.2 Для кого эта книга
1.3 Что вы узнаете из этой книги
1.4 Чего вы не узнаете из этой книги
1.5 Метатехники
1.6 Список рекомендуемой литературы
1.7 Помощь в разработке
1.8 Благодарности
1.9 Соглашения
1.10 Выходные данные
Часть I. ОСНОВЫ
Введение
Глава 2 Имена и значения
2.1 Введение
2.2 Основы связывания
2.2.1 Синтаксически неправильные имена
2.2.2 Упражнения
2.3 Копирование при изменении
2.3.1 tracemem()
2.3.2 Вызовы функций
2.3.3 Списки
2.3.4 Датафреймы
2.3.5 Символьные векторы
2.3.6 Упражнения
2.4 Размеры объектов
2.4.1 Упражнения
2.5 Изменение на месте
2.5.1 Объекты с единственной привязкой
2.5.2 Окружения
2.5.3 Упражнения
2.6 Отвязывание и сборщик мусора
2.7 Ответы на контрольные вопросы
Глава 3 Векторы
3.1 Введение
3.2 Атомарные векторы
3.2.1 Скаляры
3.2.2 Создание длинных векторов с помощью функции c()
3.2.3 Пропущенные значения
3.2.4 Определение и приведение типов векторов
3.2.5 Упражнения
3.3 Атрибуты
3.3.1 Получение и установка
3.3.2 Имена
3.3.3 Размерности
3.3.4 Упражнения
3.4 Атомарные векторы S3
3.4.1 Факторы
3.4.2 Даты
3.4.3 Даты со временем
3.4.4 Длительности
3.4.5 Упражнения
3.5 Списки
3.5.1 Создание
3.5.2 Определение и приведение типов
3.5.3 Матрицы и массивы
3.5.4 Упражнения
3.6 Датафреймы и тибблы
3.6.1 Создание
3.6.2 Имена строк
3.6.3 Вывод на экран
3.6.4 Извлечение подмножеств
3.6.5 Определение и приведение табличных типов
3.6.6 Списки в колонках
3.6.7 Матрицы и датафреймы в колонках
3.6.8 Упражнения
3.7 NULL
3.8 Ответы на контрольные вопросы
Глава 4 Подмножества
4.1 Введение
4.2 Выбор нескольких элементов
4.2.1 Атомарные векторы
4.2.2 Списки
4.2.3 Матрицы и массивы
4.2.4 Датафреймы и тибблы
4.2.5 Сохранение размерностей
4.2.6 Упражнения
4.3 Выбор одного элемента
4.3.1 [[
4.3.2 $
4.3.3 Отсутствующие и выходящие за границы индексы
4.3.4 @ и slot()
4.3.5 Упражнения
4.4 Извлечение множеств и присваивание
4.5 Применение
4.5.1 Таблицы поиска (символьное извлечение подмножеств)
4.5.2 Сопоставление и объединение в ручном режиме (целочисленное извлечение подмножеств)
4.5.3 Случайные выборки и бутстрэпы (целочисленное извлечение подмножеств)
4.5.4 Упорядочивание (целочисленное извлечение подмножеств)
4.5.5 Разворачивание агрегированных данных (целочисленное извлечение подмножеств)
4.5.6 Удаление столбцов из датафрейма (символьное извлечение подмножеств)
4.5.7 Выбор строк по условию (логическое извлечение подмножеств)
4.5.8 Булева алгебра против множеств (логическое и целочисленное извлечение подмножеств)
4.5.9 Упражнения
4.6 Ответы на контрольные вопросы
Глава 5 Управляющие структуры
5.1 Введение
5.2 Выбор
5.2.1 Некорректные входные значения
5.2.2 Векторизованный if
5.2.3 Оператор switch()
5.2.4 Упражнения
5.3 Циклы
5.3.1 Распространенные ловушки
5.3.2 Сопутствующие инструменты
5.3.3 Упражнения
5.4 Ответы на контрольные вопросы
Глава 6 Функции
6.1 Введение
6.2 Основы функций
6.2.1 Компоненты функций
6.2.2 Примитивные функции
6.2.3 Функции первого класса
6.2.4 Вызов функций
6.2.5 Упражнения
6.3 Комбинирование функций
6.4 Лексический поиск
6.4.1 Маскировка имен
6.4.2 Функции против переменных
6.4.3 С чистого листа
6.4.4 Динамический поиск
6.4.5 Упражнения
6.5 Ленивые вычисления
6.5.1 Промисы
6.5.2 Аргументы по умолчанию
6.5.3 Пропущенные аргументы
6.5.4 Упражнения
6.6 ... (точка–точка–точка)
6.6.1 Упражнения
6.7 Выход из функции
6.7.1 Явный и неявный возврат
6.7.2 Невидимые значения
6.7.3 Ошибки
6.7.4 Обработчики выхода
6.7.5 Упражнения
6.8 Формы записи функций
6.8.1 Преобразование в префиксную форму записи
6.8.2 Префиксная форма
6.8.3 Инфиксная форма
6.8.4 Замещающая форма
6.8.5 Особая форма
6.8.6 Упражнения
6.9 Ответы на контрольные вопросы
Глава 7 Окружения
7.1 Введение
7.2 Основы окружений
7.2.1 Основы
7.2.2 Важные окружения
7.2.3 Родители
7.2.4 Присваивание в родительском окружении <<-
7.2.5 Получение и установка значений
7.2.6 Продвинутые привязки
7.2.7 Упражнения
7.3 Рекурсия по окружениям
7.3.1 Упражнения
7.4 Особые окружения
7.4.1 Окружения пакетов и путь для поиска
7.4.2 Окружения функций
7.4.3 Пространства имен
7.4.4 Окружения выполнения
7.4.5 Упражнения
7.5 Стеки вызовов
7.5.1 Простые стеки вызовов
7.5.2 Ленивые вычисления
7.5.3 Фреймы
7.5.4 Динамический поиск
7.5.5 Упражнения
7.6 Окружения как структуры данных
7.7 Ответы на контрольные вопросы
Глава 8 Состояния
8.1 Введение
8.1.1 Требования
8.2 Сигнализирование о состояниях
8.2.1 Ошибки
8.2.2 Предупреждения
8.2.3 Сообщения
8.2.4 Упражнения
8.3 Игнорирование состояний
8.4 Обработка состояний
8.4.1 Объекты состояний
8.4.2 Обработчики выхода
8.4.3 Обработчики вызова
8.4.4 Стеки вызовов
8.4.5 Упражнения
8.5 Пользовательские состояния
8.5.1 Предпосылки
8.5.2 Сигнализирование
8.5.3 Обработка
8.5.4 Упражнения
8.6 Практическое применение
8.6.1 Значение ошибки
8.6.2 Значения успеха и ошибки
8.6.3 Повторное сигнализирование
8.6.4 Запись состояний
8.6.5 Отсутствие поведения по умолчанию
8.6.6 Упражнения
8.7 Ответы на контрольные вопросы
Часть II. Функциональное программирование
Введение
Глава 9 Функционалы
9.1 Введение
9.2 Мой первый функционал: map()
9.2.1 Создание атомарных векторов
9.2.2 Анонимные функции и сокращенная запись
9.2.3 Передача дополнительных аргументов
9.2.4 Имена аргументов
9.2.5 Изменение другого аргумента
9.2.6 Упражнения
9.3 Стиль purrr
9.4 Разновидности функции map
9.4.1 Вход и выход одного типа: modify()
9.4.2 Два входа: функция map2() и другие
9.4.3 Никакого вывода: функция walk() и другие
9.4.4 Итерации по значениям и индексам
9.4.5 Любое количество входов: функция pmap() и другие
9.4.6 Упражнения
9.5 Семейство функций reduce()
9.5.1 Основы
9.5.2 Accumulate
9.5.3 Выходные типы
9.5.4 Множественные входы
9.5.5 Map-reduce
9.6 Предикаты-функционалы
9.6.1 Основы
9.6.2 Вариации функции map()
9.6.3 Упражнения
9.7 Функционалы базового R
9.7.1 Матрицы и массивы
9.7.2 Математическое применение
9.7.3 Упражнения
Глава 10 Фабрики функций
10.1 Введение
10.2 Основы фабрик функций
10.2.1 Окружения
10.2.2 Обозначения на диаграммах
10.2.3 Форсирование вычислений
10.2.4 Функции с отслеживанием состояния
10.2.5 Сборка мусора
10.2.6 Упражнения
10.3 Графические фабрики функций
10.3.1 Метки
10.3.2 Столбики на гистограммах
10.3.3 ggsave()
10.3.4 Упражнения
10.4 Статистические фабрики функций
10.4.1 Преобразование Бокса-Кокса
10.4.2 Генераторы повторных выборок по методу бутстрэпа
10.4.3 Оценка максимального правдоподобия
10.4.4 Упражнения
10.5 Фабрики функций + функционалы
10.5.1 Упражнения
Глава 11 Функциональные операторы
11.1 Введение
11.2 Существующие функциональные операторы
11.2.1 Перехват ошибок с помощью purrr::safely()
11.2.2 Кеширование вычислений с помощью функции memoise::memoise()
11.2.3 Упражнения
11.3 Пример для разбора: создание собственных функциональных операторов
11.3.1 Упражнения
Часть III. Объектно ориентированное программирование
Введение
Глава 12 Базовые типы
12.1 Введение
12.2 Базовые объекты против объектов ООП
12.3 Базовые типы
12.3.1 Числовой тип
Глава 13 Система S3
13.1 Введение
13.2 Основы
13.2.1 Упражнения
13.3 Классы
13.3.1 Конструкторы
13.3.2 Валидаторы
13.3.3 Помощники
13.3.4 Упражнения
13.4 Обобщенные функции и методы
13.4.1 Диспетчеризация методов
13.4.2 Поиск методов
13.4.3 Создание методов
13.4.4 Упражнения
13.5 Стили объектов
13.5.1 Упражнения
13.6 Наследование
13.6.1 NextMethod()
13.6.2 Разрешение создавать подклассы
13.6.3 Упражнения
13.7 Детали диспетчеризации методов
13.7.1 S3 и базовые типы
13.7.2 Внутренние обобщенные функции
13.7.3 Групповые обобщенные функции
13.7.4 Двойная диспетчеризация методов
13.7.5 Упражнения
Глава 14 Система R6
14.1 Введение
14.2 Классы и методы
14.2.1 Цепочки методов
14.2.2 Важные методы
14.2.3 Добавление методов после создания класса
14.2.4 Наследование
14.2.5 Интроспекция
14.2.6 Упражнения
14.3 Управление доступом
14.3.1 Приватность
14.3.2 Активные поля
14.3.3 Упражнения
14.4 Ссылочная семантика
14.4.1 Осмысление кода
14.4.2 Финализатор
14.4.3 Поля R6
14.4.4 Упражнения
14.5 Почему R6
Глава 15 Система S4
15.1 Введение
15.2 Основы
15.2.1 Упражнения
15.3 Классы
15.3.1 Наследование
15.3.2 Интроспекция
15.3.3 Переопределение
15.3.4 Помощники
15.3.5 Валидаторы
15.3.6 Упражнения
15.4 Обобщенные функции и методы
15.4.1 Аргумент signature
15.4.2 Методы
15.4.3 Метод show
15.4.4 Функции доступа
15.4.5 Упражнения
15.5 Диспетчеризация методов
15.5.1 Простая диспетчеризация
15.5.2 Множественное наследование
15.5.3 Множественная диспетчеризация
15.5.4 Множественная диспетчеризация и множественное наследование
15.5.5 Упражнения
15.6 S4 и S3
15.6.1 Классы
15.6.2 Обобщенные функции
15.6.3 Упражнения
Глава 16 Компромиссы
16.1 Введение
16.2 S4 против S3
16.3 R6 против S3
16.3.1 Пространства имен
16.3.2 Режим протягивания
16.3.3 Сцепление методов
Часть IV. МЕТАПРОГРАММИРОВАНИЕ
Введение
Глава 17 Общая картина
17.1 Введение
17.2 Код как данные
17.3 Код как дерево
17.4 Код может генерировать код
17.5 Исполнение запускает код
17.6 Вычисления с измененными функциями
17.7 Вычисления с измененными данными
17.8 Quosure
Глава 18 Выражения
18.1 Введение
18.2 Абстрактные синтаксические деревья
18.2.1 Внешнее отображение
18.2.2 Компоненты без кода
18.2.3 Инфиксные вызовы
18.2.4 Упражнения
18.3 Выражения
18.3.1 Константы
18.3.2 Символы
18.3.3 Вызовы
18.3.4 Резюме
18.3.5 Упражнения
18.4 Разбор и грамматика
18.4.1 Приоритет операций
18.4.2 Ассоциативность
18.4.3 Парсинг и депарсинг
18.4.4 Упражнения
18.5 Проход по AST с помощью рекурсивных функций
18.5.1 Находим F и T
18.5.2 Находим все переменные, созданные в результате присваивания
18.5.3 Упражнения
18.6 Специализированные структуры данных
18.6.1 Списки пар
18.6.2 Пропущенные аргументы
18.6.3 Векторы выражений
Глава 19 Квазицитирование
19.1 Введение
19.2 Предпосылки
19.2.1 Лексика
19.2.2 Упражнения
19.3 Цитирование
19.3.1 Захват выражений
19.3.2 Захват символов
19.3.3 Базовый R
19.3.4 Подстановка
19.3.5 Подведение итогов
19.3.6 Упражнения
19.4 Расцитирование
19.4.1 Расцитирование одного аргумента
19.4.2 Расцитирование функции
19.4.3 Расцитирование пропущенного аргумента
19.4.4 Расцитирование в особых случаях
19.4.5 Расцитирование нескольких аргументов
19.4.6 Учтивое притворство оператора !!
19.4.7 Нестандартные AST
19.4.8 Упражнения
19.5 Техники отмены цитирования
19.6 ... (точка–точка–точка)
19.6.1 Пример
19.6.2 exec()
19.6.3 dots_list()
19.6.4 В базовом R
19.6.5 Упражнения
19.7 Практические примеры
19.7.1 lobstr::ast()
19.7.2 Map-reduce для генерации кода
19.7.3 Срезы массива
19.7.4 Создание функций
19.7.5 Упражнения
19.8 История
Глава 20 Вычисление
20.1 Введение
20.2 Основы вычислений
20.2.1 Применение: local()
20.2.2 Применение: source()
20.2.3 Ловушка: function()
20.2.4 Упражнения
20.3 Структура данных quosure
20.3.1 Создание
20.3.2 Вычисление
20.3.3 Точки
20.3.4 Под капотом
20.3.5 Вложенные quosure
20.3.6 Упражнения
20.4 Маски данных
20.4.1 Основы
20.4.2 Местоимения
20.4.3 Применение: subset()
20.4.4 Применение: transform()
20.4.5 Применение: select()
20.4.6 Упражнения
20.5 Использование tidy evaluation
20.5.1 Цитирование и расцитирование
20.5.2 Разрешение неопределенности
20.5.3 Цитирование и неопределенность
20.5.4 Упражнения
20.6 Вычисления в базовом R
20.6.1 substitute()
20.6.2 match.call()
20.6.3 Упражнения
Глава 21 Транслирование кода R
21.1 Введение
21.2 HTML
21.2.1 Цель
21.2.2 Экранирование
21.2.3 Базовые функции тегов
21.2.4 Функции тегов
21.2.5 Обработка всех тегов
21.2.6 Упражнения
21.3 LaTeX
21.3.1 Математика LaTeX
21.3.2 Цель
21.3.3 to_math()
21.3.4 Известные символы
21.3.5 Неизвестные символы
21.3.6 Известные функции
21.3.7 Неизвестные функции
21.3.8 Упражнения
Часть V. ТЕХНИКИ
Введение
Глава 22 Отладка
22.1 Введение
22.2 Общий подход
22.3 Обнаружение ошибок
22.3.1 Отложенные вычисления
22.4 Интерактивный отладчик
22.4.1 Команды browser()
22.4.2 Альтернативы
22.4.3 Скомпилированный код
22.5 Неинтерактивная отладка
22.5.1 dump.frames()
22.5.2 Вывод отладочной информации
22.5.3 RMarkdown
22.6 Проблемы, не связанные с ошибками
Глава 23 Измерение производительности
23.1 Введение
23.2 Профилирование
23.2.1 Визуализация профилирования
23.2.2 Профилирование памяти
23.2.3 Ограничения
23.2.4 Упражнения
23.3 Эталонное микротестирование
23.3.1 Результаты bench::mark()
23.3.2 Интерпретирование результатов
23.3.3 Упражнения
Глава 24 Повышение производительности
24.1 Введение
24.2 Организация кода
24.3 Поиск существующих решений
24.3.1 Упражнения
24.4 Не делайте больше, чем нужно
24.4.1 mean()
24.4.2 as.data.frame()
24.4.3 Упражнения
24.5 Векторизация
24.5.1 Упражнения
24.6 Избежание создания копий
24.7 Практический пример: расчет t-критерия Стьюдента
24.8 Другие техники
Глава 25 Переписывание кода R на C++
25.1 Введение
25.2 Начинаем работать с C++
25.2.1 Нет входа, скалярный выход
25.2.2 Скалярный вход, скалярный выход
25.2.3 Векторный вход, скалярный выход
25.2.4 Векторный вход, векторный выход
25.2.5 Использование sourceCpp
25.2.6 Упражнения
25.3 Другие классы
25.3.1 Списки и датафреймы
25.3.2 Функции
25.3.3 Атрибуты
25.4 Пропущенные значения
25.4.1 Скаляры
25.4.2 Строки
25.4.3 Булевы значения
25.4.4 Векторы
25.4.5 Упражнения
25.5 Стандартная библиотека шаблонов
25.5.1 Использование итераторов
25.5.2 Алгоритмы
25.5.3 Структуры данных
25.5.4 Векторы
25.5.5 Множества
25.5.6 Ассоциативные массивы
25.5.7 Упражнения
25.6 Практические примеры
25.6.1 Семплирование по Гиббсу
25.6.2 Векторизация в R против векторизации в C++
25.7 Использование Rcpp в пакете
25.8 Дополнительная литература для изучения
25.9 Благодарности
Решения и комментарии к упражнениям
Ответы на упражнения из главы 2
Ответы на упражнения из главы 3
Ответы на упражнения из главы 4
Ответы на упражнения из главы 5
Ответы на упражнения из главы 6
Ответы на упражнения из главы 7
Ответы на упражнения из главы 8
Ответы на упражнения из главы 9
Ответы на упражнения из главы 10
Ответы на упражнения из главы 11
Ответы на упражнения из главы 13
Ответы на упражнения из главы 14
Ответы на упражнения из главы 15
Ответы на упражнения из главы 18
Ответы на упражнения из главы 19
Ответы на упражнения из главы 20
Ответы на упражнения из главы 21
Ответы на упражнения из главы 23
Ответы на упражнения из главы 24
Ответы на упражнения из главы 25
Библиография
Предметный указатель

Все отзывы о книге R. К вершинам мастерства : с решениями и комментариями

Чтобы оставить отзыв, зарегистрируйтесь или войдите

другие книги автора

С книгой "R. К вершинам мастерства" читают

Бестселлеры нон-фикшн
Новинки книги нон-фикшн
Новинки аудиокниг

Внимание!
При обнаружении неточностей или ошибок в описании книги "R. К вершинам мастерства : с решениями и комментариями (автор Хэдли Уикем, Мальте Гроссер, Хеннинг Буманн)", просим Вас отправить сообщение на почту help@directmedia.ru. Благодарим!