Графічні візуалізації в R за допомогою ggplot2

R для користувачів SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Пакет ggplot2

логотип ggplot2 hexsticker

  • ggplot2 — потужний пакет графіки для R
  • «GG» у ggplot — це «grammar of graphics»
  • ggplot2 будує графіки пошарово
  • До базового шару додають один або кілька геометричних об'єктів
R для користувачів SAS

Шари — базовий шар

# Create plot for x=sex and y=diameter
ggplot(data = abalone, aes(sex, diameter))
  • Визначте базовий шар за допомогою ggplot()
  • Встановіть data = abalone
  • Задайте aes як sex і diameter

  • Ще немає жодних графічних об'єктів

  • Вісь x готова для sex
  • Вісь y готова для diameter
  • Сітку розмічено

середовище графіки ggplot2 без boxplot

R для користувачів SAS

Шари — додайте геом boxplot

# Add boxplot geometric object or geom
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot()
  • Оператор плюса + додає шар
  • Додано boxplot geom_boxplot()

  • Маємо серію boxplot-ів

  • Діаметри абалонів за статтю
  • F — самки, I — молодь, M — самці

додано boxplot у ggplot2

R для користувачів SAS

Шари — додайте тему

# Add black white theme
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot() +
  theme_bw()
  • Додайте шар «теми» через theme_bw()
  • Прибирає сірий фон
  • Малює чорну рамку навколо графіка

до boxplot додано чорно-білу тему ggplot2

R для користувачів SAS

Заміна геома boxplot на геом violin

# Change to geom_violin()
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_violin() +
  theme_bw()
  • geom_violin замінює geom_boxplot
  • Створює форму, схожу на скрипку
  • Відображає щільність розподілу даних
  • Простою заміною отримуємо новий рисунок

діаграма «скрипка» в ggplot2

R для користувачів SAS

Гістограма однієї змінної

# Make histogram of shuckedWeight
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram()
  • Створіть гістограму для однієї змінної
  • Одна змінна = одна естетика
  • Додайте geom_histogram()
  • Задайте aes() як shuckedWeight
  • Типові кольори варто змінити

гістограма ggplot2 повністю чорна

R для користувачів SAS

Гістограма — додайте кольори

# Make lines black and fill light blue
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue")
  • Змініть графічні параметри
  • Встановіть color для меж стовпчиків
  • Задайте fill — колір заповнення
  • Кожен параметр задають у ()
  • Гістограма виглядає значно краще

гістограма ggplot2 з блакитними стовпчиками та чорними лініями

R для користувачів SAS

Гістограма — додайте заголовок і підписи осей

# Add x, y axis labels and title
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue") +
  xlab("Shucked Weight") +
  ylab("Frequency Counts") +
  ggtitle("Shucked Weights Histogram")
  • Додайте кращі підписи осей і заголовок
  • Для осей використайте xlab() і ylab()
  • Для заголовка — ggtitle()
  • Цей рисунок готовий до публікації!

до гістограми ggplot2 додано підписи осей і заголовок

R для користувачів SAS

Побудуйте діаграму розсіяння

# Make scatterplot with geom_point()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point()
  • Для діаграми розсіяння aes потрібні дві змінні
  • geom_point() додає точки
  • Розсіяння ваги мушлі за кільцеми

розсіяння ggplot2: вага мушлі проти кільця

R для користувачів SAS

Розсіяння — додайте згладжену лінію

# Add smoothed fit line
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth()
  • До розсіяння додайте лінію geom_smooth()
  • Є заштрихована зона довірчого інтервалу

розсіяння ggplot2 із доданою згладженою лінією

R для користувачів SAS

Створіть панелі за іншою змінною

# Add panels using facet_wrap()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth() +
  facet_wrap(vars(sex))
  • Додайте ще один шар до розсіяння
  • Створіть панелі для кожної статі абалонів
  • Додайте шар facet_wrap()
  • vars(sex) задає змінну для панелей

розсіяння ggplot2 з 3 панелями за статтю

R для користувачів SAS

Далі в курсі

  • Розділ 1 завершується коротким вступом до графіки
    • основа навичок графіки в ggplot2
    • візуалізація вимірювань абалонів за статтю
  • Розділ 2 — опрацювання даних
    • очищення набору даних abalone
  • Розділ 3 — методи дослідження даних
    • описова статистика, кореляції та тести порівняння
  • Розділ 4 — моделювання і презентація результатів
    • прогнозування віку абалонів за вимірюваннями
    • аналіз моделей за статтю
R для користувачів SAS

Створімо кілька графіків для абалонів

R для користувачів SAS

Preparing Video For Download...