Оглавление:
- Вы уже видели, как использовать stat_bin () для суммирования ваших данных в бункерах, потому что это стат по умолчанию geom_bar (). Это означает, что следующие две строки кода производят одинаковые графики: >> ggplot (quakes, aes (x = depth)) + geom_bar (binwidth = 50)> ggplot (quakes, aes (x = глубина)) + stat_bin (binwid th = 50)
- Интересная вещь о stat_smooth () заключается в том, что она использует локальную регрессию по умолчанию. R имеет несколько функций, которые могут это сделать, но ggplot2 использует функцию loess () для локальной регрессии. Это означает, что если вы хотите создать модель линейной регрессии, вы должны сказать stat_smooth (), чтобы использовать другую более плавную функцию.Вы делаете это с помощью аргумента метода.
Видео: Data Analysis in R by Dustin Tran 2025
После данных, сопоставления и геометрии четвертый элемент слоя ggplot2 в R описывает, как следует суммировать данные. В ggplot2 вы ссылаетесь на это статистическое резюме как stat .
Одной из очень удобных функций ggplot2 является ее диапазон функций для суммирования ваших данных на графике. Это означает, что вам часто не нужно предварительно суммировать свои данные. Например, высота баров в гистограмме показывает, сколько наблюдений за чем-то, что у вас есть в ваших данных. Статистическое резюме для этого - подсчет наблюдений. Статистики ссылаются на этот процесс как binning, , а stat по умолчанию для geom_bar () - stat_bin ().
Аналогично тому, как каждая геометрия имеет ассоциированный стат по умолчанию, каждый stat также имеет геометрию по умолчанию.
Итак, это задает вопрос: как вы решаете, использовать ли геометрию или стат? Теоретически неважно, выбираете ли вы первую геометрию или стат. На практике, однако, часто интуитивно сначала начинать с типа сюжета - другими словами, указать геометрию. Если вы хотите добавить еще один уровень статистической сводки, используйте stat.
На этом рисунке вы использовали одни и те же данные, чтобы сначала создать диаграмму рассеяния с помощью geom_point (), а затем добавили плавную строку с stat_smooth ()
Здесь приведены некоторые практические примеры использования функций stat.
Stat | Описание | Геометрия по умолчанию |
---|---|---|
stat_bin () | Подсчитывает количество наблюдений в ящиках. | geom_bar () |
stat_smooth () | Создает плавную строку. | geom_line () |
stat_sum () | Добавляет значения. | geom_point () |
stat_identity () | Нет резюме. Графики данных как есть. | geom_point () |
stat_boxplot () | Суммирует данные для графика прямоугольника и усы. | geom_boxplot () |
Вы уже видели, как использовать stat_bin () для суммирования ваших данных в бункерах, потому что это стат по умолчанию geom_bar (). Это означает, что следующие две строки кода производят одинаковые графики: >> ggplot (quakes, aes (x = depth)) + geom_bar (binwidth = 50)> ggplot (quakes, aes (x = глубина)) + stat_bin (binwid th = 50)
Сглаживание данных
Пакет ggplot2 также очень упрощает создание линий регрессии через ваши данные. Вы используете функцию stat_smooth () для создания этого типа строки.
Интересная вещь о stat_smooth () заключается в том, что она использует локальную регрессию по умолчанию. R имеет несколько функций, которые могут это сделать, но ggplot2 использует функцию loess () для локальной регрессии. Это означает, что если вы хотите создать модель линейной регрессии, вы должны сказать stat_smooth (), чтобы использовать другую более плавную функцию.Вы делаете это с помощью аргумента метода.
Чтобы проиллюстрировать использование более плавного, начните с создания диаграммы рассеивания безработицы в длинном наборе данных: >> p p
Затем добавьте более гладкую. Это так же просто, как добавление stat_smooth () в вашу строку кода. >> p + stat_smooth ()
Ваша графика должна выглядеть как график слева от изображения ниже.
Иногда ggplot2 генерирует сообщения с дополнительными советами и информацией. Если вы не видите предупреждения или ошибки, вы можете спокойно проигнорировать эти сообщения. В этом случае stat_smooth () сообщает вам, что более гладким по умолчанию является метод под названием
leess
(локальное сглаживание). В сообщении также говорится, что вы можете использовать альтернативные методы сглаживания.
Наконец, используйте stat_smooth () для подгонки и построения модели линейной регрессии. Вы делаете это, добавляя аргумент method = "lm": >> p + stat_smooth (method = "lm")
Теперь ваша графика должна выглядеть как график справа. stat_smooth (). "Width =" 535 "> Добавление строк регрессии с помощью stat_smooth ().
Ничего не делать с идентификатором
Иногда вы не хотите, чтобы ggplot2 суммировал ваши данные на графике. Это обычно происходит, когда ваши данные уже предварительно скомпилированный или когда каждая строка вашего фрейма данных должна быть построена отдельно. В этих случаях вы хотите сказать ggplot2 ничего не делать, и stat для этого - stat_identity (). Вероятно, вы заметили, что stat_identity статистика по умолчанию для точек и строк.