Ggplot lebih mudah dengan pakej ggeasy R

Pakej visualisasi data ggplot2 R sangat hebat dan fleksibel. Walau bagaimanapun, tidak selalu mudah untuk mengingat bagaimana melakukan setiap tugas - terutamanya jika anda bukan pengguna yang kerap. Bagaimana anda mengubah ukuran tajuk grafik? Bagaimana anda membuang tajuk legenda? Penyelesaian biasa saya adalah menyimpan coretan kod RStudio untuk perkara yang sukar saya ingat. Tetapi ada juga pakej yang dapat membantu: ggeasy.

Kerana nama itu berkata, matlamat ggeasy adalah untuk, dengan baik, membuat ggplot2 mudah - atau sekurang-kurangnya Easi er . Ia mempunyai fungsi yang mungkin disifatkan oleh beberapa orang untuk fungsi yang lebih intuitif untuk tugas-tugas biasa, terutamanya di sekitar format teks dan paksi. (Pakej ini tidak mempengaruhi cara garis, titik, dan bar kelihatan dan berkelakuan). Semua fungsi ggeasy bermula dengan easy_begitu, ya, mudah mencarinya menggunakan pelengkap automatik RStudio. Anda dapat melihat cara kerjanya dalam video di atas.

Sekiranya anda ingin mengikuti contoh saya di bawah, ggeasy ada di CRAN, jadi anda boleh memasangnya install.packages("ggeasy"). Saya juga akan menggunakan pakej ggplot2 (secara semula jadi), dplyr, rio, dan lubridate. Kemudian, saya akan menambah pakej tampalan untuk penempatan pelbagai grafik yang sangat sederhana; itu juga pada CRAN.

Untuk contoh ini, saya akan menggunakan data mengenai apa yang ada di fikiran kebanyakan orang hari ini: coronavirus. Anda boleh memuat turun fail CSV dengan data mengikut negara AS dari Coronavirus Tracking Project dengan

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

destfile = "covid19.csv")

(Anda boleh menamakan destfile apa-apa fail destinasi anda mahu.) Saya digunakan rio::import()untuk mengimport data, tetapi anda juga boleh menggunakan readr::read_csv(), read.csv(), data.table::fread(), atau apa-apa fungsi lain untuk mengimport CSV.

Dengan rio, tarikh masuk sebagai bilangan bulat, jadi saya akan menggunakan ymd()fungsi lubridate untuk mengubah lajur itu menjadi objek Tarikh:

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

Untuk membuat grafik yang tidak terlalu sukar untuk difahami, saya akan menapis data ini hanya untuk beberapa keadaan sehingga tidak ada 50 baris siri masa yang berasingan. Saya memilih Louisiana untuk melihat peningkatan kes di sana - gabenor Louisiana mengatakan negeri ini antara yang paling cepat mengalami kes di dunia. (Terdapat spekulasi bahawa Mardi Gras pada bulan Februari mungkin menyebabkan gugusan di New Orleans.) Saya juga akan menambahkan Massachusetts, sebuah negeri dengan sekitar 50 persen lebih banyak orang daripada Louisiana, kerana saya berpusat di sana.

Setelah menyaring data, saya akan membuat grafik garis asas data:

States2 <- filter (data, nyatakan% dalam% c ("LA", "MA"))

ggplot (menyatakan2, aes (x = tarikh, y = positif, warna = keadaan)) +

geom_line () +

titik geom () +

tema_minimal () +

ggtitle ("Kes Loviana & Massachusetts Daily Covid-19")

Sharon Machlis,

Itu peningkatan yang cukup tinggi. Sebilangan itu mungkin disebabkan oleh peningkatan pengujian - mungkin kita hanya mengetahui lebih banyak kes kerana ujian meningkat. Saya akan melihatnya dalam satu minit.

Pertama, bagaimana dengan beberapa perubahan pada grafik ini?

Mari mulakan dengan menjadikan tajuk grafik lebih besar. Untuk menggunakan ggeasy, saya akan mula menaip easy_ di panel sumber kiri atas RStudio dan tatal sehingga saya menemui apa yang saya mahukan. 

Sharon Machlis,

easy_plot_title_size()nampak seperti fungsi yang saya perlukan. Saya boleh menukar tajuk grafik menjadi jenis 16 titik dengan kod ini:

ggplot (menyatakan2, aes (x = tarikh, y = positif, warna = keadaan)) +

geom_line () +

titik geom () +

tema_minimal () +

ggtitle ("Kes Loviana & Massachusetts Daily Covid-19") +

mudah_plot_title_size (16)

Saya boleh memutar teks paksi-x dengan easy_rotate_x_labels(90)putaran 90 darjah, dan membuang tajuk legenda (cukup jelas keadaan ini) dengan easy_remove_legend_title(). Kod graf lengkap ada di bawah, termasuk menyimpan grafik dalam pemboleh ubah yang dipanggil positives.

positif <- ggplot (menyatakan2, aes (x = tarikh, y = positif, warna = keadaan)) +

geom_line () +

titik geom () +

tema_minimal () +

ggtitle ("Kes Loviana & Massachusetts Daily Covid-19") +

easy_plot_title_size (16) +

easy_rotate_x_labels (90) +

easy_remove_legend_title ()

Sharon Machlis,

Seterusnya, saya ingin melihat hasil ujian coronavirus negatif , untuk melihat sama ada ia meningkat pada kadar yang serupa dengan positif. Saya akan menggunakan kod yang sama tetapi hanya menukar lajur y ke negatif.

negatif <- ggplot (menyatakan2, aes (x = tarikh, y = negatif , warna = keadaan)) +

geom_line () +

titik geom () +

tema_minimal () +

ggtitle ("Negatif Lousiana & Massachusetts") +

easy_plot_title_size (16) +

easy_rotate_x_labels (90) +

easy_remove_x_axis ("tajuk") +

easy_remove_y_axis ("tajuk") +

easy_remove_legend_title ()

Sharon Machlis,

Nampaknya ada kenaikan positif yang lebih besar daripada negatif di Louisiana. Walaupun kita tidak tahu apakah itu kerana kriteria ujian berubah atau yang lain.

Adalah berguna untuk melihat kedua-dua grafik ini bersebelahan. Di situlah pakej patchwork masuk. 

Dengan hanya dua baris kod ini, yang pertama memuatkan paket tampalan: 

perpustakaan ("tampalan")

positif + negatif

Saya mendapat ini:

Sharon Machlis,

Sangat mudah meletakkan beberapa graf dengan tampalan. Untuk lebih lanjut mengenai cara menyesuaikan susun atur, kunjungi laman web tambalan.

Saya sekarang boleh kembali dan menggunakan ggeasy untuk membuang salah satu legenda sehingga tidak ada dua, dan kemudian jalankan semula tambalan:

negatif <- negatif +

senang_remove_legend ()

positif + negatif

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

Untuk lebih banyak petua R, buka halaman "Lakukan Lebih Banyak Dengan R" di atau lihat senarai main YouTube "Lakukan Lebih Banyak Dengan R".