Visualisasi grafis di R dengan ggplot2

R untuk Pengguna SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Paket ggplot2

logo hexsticker ggplot2

  • ggplot2 adalah paket grafis yang kuat untuk R
  • "GG" pada ggplot berarti "grammar of graphics"
  • ggplot2 membangun grafik dengan pendekatan berlapis
  • Satu atau lebih objek geometri ditambahkan ke layer dasar
R untuk Pengguna SAS

Layer - layer dasar

# Buat plot untuk x=sex dan y=diameter
ggplot(data = abalone, aes(sex, diameter))
  • Definisikan layer dasar dengan ggplot()
  • Set data = abalone
  • Set aes ke sex dan diameter

  • Belum ada objek grafis pada plot

  • Sumbu x siap untuk sex
  • Sumbu y siap untuk diameter
  • kisi sudah disusun

lingkungan grafis ggplot2 belum ada boxplot

R untuk Pengguna SAS

Layer - tambah geom boxplot

# Tambah objek geometri boxplot (geom)
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot()
  • Operator plus + menambah layer
  • geom_boxplot() ditambahkan

  • Hasilnya deret boxplot

  • Diameter abalone menurut jenis kelamin
  • F betina, I anakan, dan M jantan

ggplot2 boxplot ditambahkan

R untuk Pengguna SAS

Layer - tambah tema

# Tambah tema hitam putih
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot() +
  theme_bw()
  • Tambah layer "theme" dengan theme_bw()
  • Menghapus latar abu-abu
  • Menggambar kotak hitam di sekitar plot

ggplot2 boxplot tema hitam putih ditambahkan

R untuk Pengguna SAS

Ganti geom boxplot ke geom violin

# Ganti ke geom_violin()
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_violin() +
  theme_bw()
  • geom_violin menggantikan geom_boxplot
  • Membuat bentuk mirip biola
  • Mencerminkan sebaran kerapatan data
  • Perubahan sederhana untuk figur baru

plot violin ggplot2

R untuk Pengguna SAS

Histogram satu variabel

# Buat histogram untuk shuckedWeight
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram()
  • Buat histogram untuk satu variabel
  • Satu variabel = satu estetika
  • Tambahkan geom_histogram()
  • Set aes() ke shuckedWeight
  • Warna default perlu diubah

histogram ggplot2 semua hitam

R untuk Pengguna SAS

Histogram: tambah warna

# Garis hitam, isi biru muda
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue")
  • Ubah parameter grafis
  • Atur color garis bin
  • Atur warna fill untuk bin
  • Setiap opsi diatur dalam ()
  • Histogram jadi lebih baik

histogram ggplot2 batang biru garis hitam

R untuk Pengguna SAS

Histogram: tambah judul dan label sumbu

# Tambah label sumbu dan judul
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue") +
  xlab("Shucked Weight") +
  ylab("Frequency Counts") +
  ggtitle("Shucked Weights Histogram")
  • Tambahkan label sumbu dan judul yang lebih baik
  • Gunakan xlab() dan ylab() untuk sumbu
  • Gunakan ggtitle() untuk judul
  • Figur siap dipublikasikan!

histogram ggplot2 dengan label sumbu dan judul

R untuk Pengguna SAS

Buat scatterplot

# Buat scatterplot dengan geom_point()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point()
  • aes scatterplot butuh dua variabel
  • geom_point() menambahkan titik
  • Scatterplot shellWeight menurut rings

scatterplot ggplot2 shellweight vs rings

R untuk Pengguna SAS

Scatterplot: tambah garis fit mulus

# Tambahkan garis fit mulus
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth()
  • Tambahkan garis geom_smooth() ke scatterplot
  • Termasuk area kepercayaan berarsir

scatterplot ggplot2 dengan garis fit mulus

R untuk Pengguna SAS

Buat panel menurut variabel lain

# Tambah panel dengan facet_wrap()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth() +
  facet_wrap(vars(sex))
  • Tambah satu layer lagi ke scatterplot
  • Buat panel per jenis kelamin abalone
  • Tambahkan layer facet_wrap()
  • vars(sex) menentukan variabel panel

scatterplot ggplot2 dengan 3 panel per jenis kelamin

R untuk Pengguna SAS

Sisa kursus

  • Bab 1 menutup dengan pengantar singkat grafik
    • dasar keterampilan grafis ggplot2
    • visualisasi ukuran abalone menurut jenis kelamin
  • Bab 2 mengajarkan pengolahan data
    • merapikan dataset abalone
  • Bab 3 mengajarkan eksplorasi data
    • statistik deskriptif, korelasi, dan uji perbandingan
  • Bab 4 mengajarkan pemodelan dan penyajian hasil
    • prediksi umur abalone dari pengukuran
    • eksplorasi model per jenis kelamin
R untuk Pengguna SAS

Mari buat beberapa plot untuk abalone

R untuk Pengguna SAS

Preparing Video For Download...