Ggplot lebih mudah dengan paket R ggeasy

Paket R visualisasi data ggplot2 sangat kuat dan fleksibel. Namun, tidak selalu mudah untuk mengingat cara melakukan setiap tugas - terutama jika Anda bukan pengguna yang sering. Bagaimana Anda mengubah ukuran judul grafik? Bagaimana Anda menghapus judul legenda? Solusi saya yang biasa adalah menyimpan cuplikan kode RStudio untuk hal-hal yang sulit saya ingat. Tapi ada juga paket yang bisa membantu: ggeasy.

Seperti namanya, tujuan ggeasy adalah, baik, membuat ggplot2 mudah - atau setidaknya easi er . Ini memiliki apa yang beberapa orang anggap sebagai fungsi yang lebih intuitif untuk tugas-tugas khas, sebagian besar di sekitar pemformatan teks dan sumbu. (Paket ini tidak memengaruhi tampilan dan perilaku garis, titik, dan bilah ). Semua fungsi ggeasy dimulai dengan easy_, ya, mudah untuk menemukannya menggunakan pelengkapan otomatis RStudio. Anda dapat melihat cara kerjanya di video di atas.

Jika Anda ingin mengikuti contoh saya di bawah ini, ggeasy ada di CRAN, jadi Anda bisa menginstalnya dengan install.packages("ggeasy"). Saya juga akan menggunakan paket ggplot2 (secara alami), dplyr, rio, dan lubridate. Nanti, saya akan menambahkan paket tambal sulam untuk penempatan beberapa grafik yang super sederhana; itu juga di CRAN.

Untuk contoh ini, saya akan menggunakan data tentang apa yang ada di benak kebanyakan orang saat ini: virus corona. Anda dapat mengunduh file CSV dengan data menurut negara bagian AS dari Proyek Pelacakan Coronavirus dengan

download.file ("// covidtracking.com/api/states/daily.csv",

destfile = "covid19.csv")

(Anda dapat nama destfile file tujuan apa pun yang Anda inginkan.) Saya menggunakan rio::import()untuk mengimpor data, tetapi Anda juga dapat menggunakan readr::read_csv(), read.csv(), data.table::fread(), atau fungsi lain untuk mengimpor CSV tersebut.

Dengan rio, tanggal masuk sebagai bilangan bulat, jadi saya akan menggunakan ymd()fungsi lubridate untuk mengubah kolom itu menjadi objek Tanggal:

data $ date <- lubridate :: ymd (data $ date)

Untuk membuat grafik yang tidak terlalu sulit untuk dipahami, saya akan memfilter data ini hanya untuk beberapa status sehingga tidak ada 50 garis deret waktu yang terpisah. Saya memilih Louisiana untuk melihat peningkatan kasus di sana - gubernur Louisiana mengatakan negara bagian memiliki pertumbuhan kasus tercepat di dunia. (Ada spekulasi bahwa Mardi Gras pada bulan Februari mungkin telah menyebabkan gugusan di New Orleans.) Saya juga akan menambahkan Massachusetts, negara bagian dengan penduduk sekitar 50 persen lebih banyak daripada Louisiana, karena saya berbasis di sana.

Setelah memfilter data, saya akan membuat grafik garis dasar dari data:

state2 <- filter (data, state% dalam% c ("LA", "MA"))

ggplot (state2, aes (x = date, y = positive, color = state)) +

geom_line () +

geom_point () +

theme_minimal () +

ggtitle ("Lousiana & Massachusetts Daily Covid-19 Cases")

Sharon Machlis,

Itu peningkatan yang cukup tajam. Beberapa di antaranya mungkin karena peningkatan pengujian - mungkin kita hanya tahu tentang lebih banyak kasus karena pengujian ditingkatkan. Saya akan melihatnya sebentar lagi.

Namun, pertama-tama, bagaimana dengan beberapa penyesuaian pada grafik ini?

Mari kita mulai dengan memperbesar judul grafik. Untuk menggunakan ggeasy, saya akan mulai mengetik easy_ di panel sumber kiri atas RStudio dan menggulir hingga saya menemukan yang saya inginkan. 

Sharon Machlis,

easy_plot_title_size()Sepertinya fungsi yang saya butuhkan. Saya dapat mengubah judul grafik menjadi tipe 16 poin dengan kode ini:

ggplot (state2, aes (x = date, y = positive, color = state)) +

geom_line () +

geom_point () +

theme_minimal () +

ggtitle ("Kasus Covid-19 Harian Lousiana & Massachusetts") +

easy_plot_title_size (16)

Saya dapat memutar teks sumbu x dengan easy_rotate_x_labels(90)untuk rotasi 90 derajat, dan menghapus judul legenda (cukup jelas ini adalah status) dengan easy_remove_legend_title(). Kode grafik lengkap ada di bawah, termasuk menyimpan grafik dalam variabel yang disebut positives.

positif <- ggplot (state2, aes (x = date, y = positive, color = state)) +

geom_line () +

geom_point () +

theme_minimal () +

ggtitle ("Kasus Covid-19 Harian Lousiana & Massachusetts") +

easy_plot_title_size (16) +

label_mudah_ diputar_x_labels (90) +

easy_remove_legend_title ()

Sharon Machlis,

Selanjutnya, saya ingin melihat hasil tes virus korona negatif , untuk melihat apakah meningkat pada tingkat yang sama dengan positif. Saya akan menggunakan kode yang sama tetapi hanya mengganti kolom y ke negatif.

negatif <- ggplot (state2, aes (x = date, y = negative , color = state)) +

geom_line () +

geom_point () +

theme_minimal () +

ggtitle ("Lousiana & Massachusetts Negatives") +

easy_plot_title_size (16) +

label_mudah_ diputar_x_labels (90) +

easy_remove_x_axis ("judul") +

easy_remove_y_axis ("judul") +

easy_remove_legend_title ()

Sharon Machlis,

Tampaknya ada peningkatan positif yang lebih besar daripada yang negatif di Louisiana. Meskipun kami tidak tahu apakah itu karena kriteria pengujian berubah atau sesuatu yang lain.

Akan sangat membantu untuk melihat kedua grafik ini secara berdampingan. Di situlah paket tambal sulam masuk. 

Hanya dengan dua baris kode ini, yang pertama memuat paket patchwork: 

perpustakaan ("tambal sulam")

positif + negatif

Saya mengerti ini:

Sharon Machlis,

Sangat mudah untuk menempatkan banyak grafik dengan tambal sulam. Untuk informasi lebih lanjut tentang cara menyesuaikan tata letak, kunjungi situs web tambal sulam.

Sekarang saya dapat kembali dan menggunakan ggeasy untuk menghapus salah satu legenda sehingga tidak ada dua, dan kemudian menjalankan kembali tambal sulam:

negatif <- negatif +

easy_remove_legend ()

positif + negatif

Jelas, ggeasy cukup berguna untuk eksplorasi data yang cepat dan mudah!

Untuk tips R lainnya, buka halaman "Lakukan Lebih Banyak Dengan R" atau lihat playlist YouTube "Lakukan Lebih Banyak Dengan R".