Histogram dan sebar adalah metode yang bagus untuk memvisualisasikan data dan hubungan antar variabel, tetapi baru-baru ini saya bertanya-tanya tentang teknik visualisasi apa yang saya lewatkan. Menurut Anda, apa jenis plot yang paling jarang digunakan?
Jawaban harus:
- Tidak terlalu umum digunakan dalam praktik.
- Dapat dimengerti tanpa banyak diskusi latar belakang.
- Dapat diterapkan dalam banyak situasi umum.
- Masukkan kode yang dapat direproduksi untuk membuat contoh (lebih disukai dalam R). Gambar yang ditautkan akan menyenangkan.
Jawaban:
Saya sangat setuju dengan poster-poster lainnya: Buku-buku Tufte sangat fantastis dan layak dibaca.
Pertama, saya akan mengarahkan Anda ke tutorial yang sangat bagus tentang ggplot2 dan ggobi dari "Melihat Data" awal tahun ini. Di luar itu saya hanya akan menyoroti satu visualisasi dari R, dan dua paket grafik (yang tidak banyak digunakan sebagai grafik dasar, kisi, atau ggplot):
Peta Panas
Saya sangat suka visualisasi yang dapat menangani data multivarian, terutama data deret waktu. Peta panas dapat bermanfaat untuk ini. Yang benar-benar rapi ditampilkan oleh David Smith di blog Revolusi . Berikut adalah kode ggplot milik Hadley:
Yang akhirnya terlihat seperti ini:
RGL: Grafik 3D Interaktif
Paket lain yang layak untuk dipelajari adalah RGL , yang dengan mudah menyediakan kemampuan untuk membuat grafik 3D interaktif. Ada banyak contoh online untuk ini (termasuk dalam dokumentasi rgl).
R-Wiki memiliki contoh yang bagus tentang cara memplot plot pencar 3D menggunakan rgl.
GGobi
Paket lain yang perlu diketahui adalah rggobi . Ada buku Springer tentang masalah ini , dan banyak dokumentasi / contoh online yang bagus, termasuk di kursus "Melihat Data" .
sumber
Saya sangat suka dotplots dan menemukan ketika saya merekomendasikan mereka kepada orang lain untuk masalah data yang sesuai mereka selalu terkejut dan senang. Mereka sepertinya tidak banyak digunakan, dan saya tidak tahu mengapa.
Berikut ini contoh dari Quick-R:
Saya percaya Cleveland yang paling bertanggung jawab untuk pengembangan dan penyebaran ini, dan contoh dalam bukunya (di mana data yang salah mudah dideteksi dengan dotplot) adalah argumen yang kuat untuk penggunaannya. Perhatikan bahwa contoh di atas hanya menempatkan satu titik per baris, sedangkan kekuatan sebenarnya datang dengan Anda memiliki beberapa titik di setiap baris, dengan legenda yang menjelaskan yang mana. Misalnya, Anda dapat menggunakan simbol atau warna yang berbeda untuk tiga titik waktu yang berbeda, dan karenanya dapat dengan mudah memahami pola waktu dalam berbagai kategori.
Dalam contoh berikut (dilakukan dalam Excel dari semua hal!), Anda dapat dengan jelas melihat kategori mana yang menderita dari pertukaran label.
sumber
Plot menggunakan koordinat kutub tentu kurang dimanfaatkan - beberapa akan mengatakan dengan alasan yang bagus. Saya pikir situasi yang membenarkan penggunaannya tidak umum; Saya juga berpikir bahwa ketika situasi itu muncul, plot polar dapat mengungkapkan pola dalam data yang tidak bisa plot linear.
Saya pikir itu karena kadang-kadang data Anda secara inheren polar daripada linear - misalnya, itu bersifat siklis (koordinat x mewakili waktu selama 24 jam sehari selama beberapa hari), atau data sebelumnya dipetakan ke ruang fitur kutub.
Ini sebuah contoh. Plot ini menunjukkan volume lalu lintas rata-rata Situs Web menurut jam. Perhatikan kedua paku pada jam 10 malam dan jam 1 siang. Untuk insinyur jaringan Situs, itu penting; itu juga penting bahwa mereka terjadi berdekatan satu sama lain (hanya dua jam terpisah). Tetapi jika Anda memplot data yang sama pada sistem koordinat tradisional, pola ini akan sepenuhnya disembunyikan - diplotkan secara linier, kedua paku ini akan terpisah 20 jam, walaupun keduanya hanya terpisah dua jam pada hari-hari berturut-turut. Bagan kutub di atas menunjukkan ini dengan cara yang pelit dan intuitif (legenda tidak diperlukan).
Ada dua cara (yang saya tahu) untuk membuat plot seperti ini menggunakan R (saya membuat plot di atas w / R). Salah satunya adalah kode fungsi Anda sendiri baik dalam sistem grafik dasar atau grid. Cara lain, yang lebih mudah, adalah dengan menggunakan paket bundar . Fungsi yang akan Anda gunakan adalah ' rose.diag ':
sumber
qplot(y=data, x=1:length(data), fill=factor(1:length(data)), stat='identity', geom='bar') + coord_polar()
Jika plot pencar Anda memiliki begitu banyak poin sehingga menjadi berantakan, cobalah plot pencar yang dihaluskan. Berikut ini sebuah contoh:
The
hexbin
paket (disarankan oleh @Dirk Eddelbuettel) digunakan untuk tujuan yang sama, namunsmoothScatter()
memiliki keuntungan bahwa itu milikgraphics
paket, dan dengan demikian bagian dari instalasi R standar.sumber
Mengenai sparkline dan ide Tufte lainnya, paket YaleToolkit pada CRAN menyediakan fungsi
sparkline
dansparklines
.Paket lain yang berguna untuk dataset yang lebih besar adalah hexbin karena secara cerdik 'sampah' data menjadi ember untuk berurusan dengan dataset yang mungkin terlalu besar untuk plot sebar naif.
sumber
plot
dalam pembaruan untuk pertanyaan saya , dengan bantuan dari posting forum TufteHmisc::latex()
Versi output dariHmisc::describe
termasuk mini-histogram yang akan disertakan dalam tabel.Plot biola (yang menggabungkan box box dengan kepadatan kernel) relatif eksotis dan cukup keren. The vioplot paket di R memungkinkan Anda untuk membuat mereka cukup mudah.
Berikut sebuah contoh (Tautan wikipedia juga menunjukkan contoh):
sumber
bwplot(... panel = panel.violin)
Visualisasi seri waktu bagus lainnya yang baru saja saya ulas adalah "bump chart" (seperti yang ditampilkan dalam posting ini di blog "Learning R" ). Ini sangat berguna untuk memvisualisasikan perubahan posisi seiring waktu.
Anda dapat membaca tentang cara membuatnya di http://learnr.wordpress.com/ , tetapi seperti inilah hasilnya:
sumber
Saya juga menyukai modifikasi boxplot Tufte yang memungkinkan Anda melakukan perbandingan banyak kecil dengan lebih mudah karena sangat "tipis" secara horizontal dan tidak mengacaukan plot dengan tinta yang berlebihan. Namun, ini bekerja paling baik dengan sejumlah kategori yang cukup besar; jika Anda hanya memiliki beberapa plot, plot kotak (Tukey) biasa terlihat lebih baik karena mereka memiliki sedikit lebih banyak bobot untuk mereka.
Cara lain untuk membuat ini (termasuk jenis lain boxplot Tufte) dibahas dalam pertanyaan ini .
sumber
Kita tidak boleh lupa tentang plot batang dan daun yang lucu dan (secara historis) penting (yang juga disukai Tufte!). Anda mendapatkan gambaran numerik langsung dari kepadatan dan bentuk data Anda (tentu saja jika kumpulan data Anda tidak lebih besar dari sekitar 200 poin). Di R, fungsi
stem
menghasilkan dislay batang dan daun Anda (di ruang kerja). Saya lebih suka menggunakangstem
fungsi dari paket fmsb untuk menggambarnya langsung di perangkat grafis. Di bawah ini adalah varian suhu tubuh berang-berang (data harus dalam dataset default Anda) dalam tampilan batang-demi-daun:sumber
Grafik cakrawala (pdf), untuk memvisualisasikan banyak deret waktu sekaligus.
Plot koordinat pararel (pdf), untuk analisis multivarian.
Asosiasi dan plot mosaik , untuk memvisualisasikan tabel kontingensi (lihat paket vcd )
sumber
Selain karya Tufte yang luar biasa, saya merekomendasikan buku-buku oleh William S. Cleveland: Memvisualisasikan Data dan Unsur - unsur Data Grafik . Tidak hanya mereka sangat baik, tetapi mereka semua dilakukan dalam R, dan saya percaya kode ini tersedia untuk umum.
sumber
Plot kotak! Contoh dari bantuan R:
Menurut pendapat saya ini adalah cara yang paling praktis untuk melihat data atau membandingkan distribusi. Untuk distribusi yang lebih kompleks ada ekstensi yang disebut
vioplot
.sumber
Plot mosaik bagi saya tampaknya memenuhi keempat kriteria yang disebutkan. Ada contoh di r, di bawah mosaicplot.
sumber
Lihatlah karya Edward Tufte dan terutama buku ini
Anda juga dapat mencoba dan menangkap presentasi perjalanannya . Ini cukup bagus dan termasuk bundel empat bukunya. (Aku bersumpah aku tidak memiliki stok penerbitnya!)
Omong-omong, saya suka teknik visualisasi data sparkline-nya. Mengherankan! Google sudah menulisnya dan mengeluarkannya di Google Code
sumber
Plot ringkasan? Seperti disebutkan di halaman ini:
Memvisualisasikan Ringkasan Statistik dan Ketidakpastian
sumber