Apa yang Anda gunakan untuk menghasilkan dasbor di R?

17

Saya perlu membuat laporan dasbor analitik web berkala (harian, bulanan). Mereka akan statis dan tidak memerlukan interaksi, jadi bayangkan file PDF sebagai output target. Laporan akan mencampur tabel dan grafik (terutama grafik grafik mini dan grafik bullet yang dibuat dengan ggplot2). Pikirkan dasbor gaya Stephen Few / Perceptual Edge, seperti:dasbor sampel

tetapi diterapkan pada analisis web.

Adakah saran tentang paket apa yang digunakan untuk membuat laporan dasbor ini?

Intuisi pertama saya adalah menggunakan markdown R dan rajutan, tetapi mungkin Anda sudah menemukan solusi yang lebih baik. Sepertinya saya tidak dapat menemukan contoh dashboard yang kaya yang dihasilkan dari R.

shadowtalker
sumber
Saya sarankan mengganti untaggedtag dengan r, dashboards, reportsatau serupa.
Aleksandr Blekh
Apakah Anda membuat dasbor ini seperti yang dijelaskan di atas? Saya ingin sekali melihat kode ini!
Kare

Jawaban:

15

Saya berpikir bahwa Shinyadalah berlebihan dalam situasi ini dan tidak sesuai kebutuhan Anda dari laporan dashboard menjadi statis . Saya kira, bahwa penggunaan istilah "dasbor" agak membingungkan, karena beberapa orang mungkin menganggapnya lebih menekankan interaktivitas ( dasbor waktu nyata ), daripada tata letak informasi , seperti pemahaman saya (dikonfirmasi oleh " persyaratan "statis).

Rekomendasi saya kepada Anda adalah menggunakan R Markdown dan knitr , terutama karena paket-paket ini memiliki kurva belajar yang jauh lebih rendah daripada Shiny . Selain itu, saya baru saja menemukan paket R, yang, dalam pandangan saya, idealnya sesuai dengan kebutuhan Anda untuk menanamkan grafik / plot kecil dalam laporan, seperti yang disajikan pada gambar Anda di atas. Paket ini menghasilkan tabel grafik statis atau dinamis dan disebut sparkTable ( http://cran.r-project.org/web/packages/sparkTable ). Sketsa ini tersedia di sini (tidak ada tautan ke sana di halaman utama paket): http://publik.tuwien.ac.at/files/PubDat_228663.pdf . Jika Anda membutuhkan interaktivitas ,sparkTablemenyediakan beberapa melalui antarmuka sederhana untuk Shiny.

Aleksandr Blekh
sumber
Saya tidak tahu tentang sparkTable, sepertinya alat yang hebat untuk pekerjaan itu.
shadowtalker
@ssdecontrol: Sampai saat ini, saya tidak tahu tentang itu juga. Sepertinya alat yang hebat, pasti. Saya berharap dapat mencobanya di proyek saya, jika saya akan memiliki kebutuhan dan peluang.
Aleksandr Blekh
9

Shiny adalah kerangka kerja untuk menghasilkan aplikasi berbasis HTML yang mengeksekusi kode R secara dinamis. Aplikasi Shiny dapat berdiri sendiri atau dibuat menjadi dokumen Markdown knitr, dan pengembangan Shiny sepenuhnya terintegrasi ke dalam RStudio. Bahkan ada layanan gratis bernama shinyapps.io untuk hosting aplikasi Shiny, shinypaket ini memiliki fungsi untuk menyebarkan aplikasi Shiny langsung dari R, dan RStudio memiliki antarmuka GUI untuk memanggil fungsi-fungsi tersebut. Ada banyak info lainnya di bagian Tutorial situs.

Karena pada dasarnya "mengkompilasi" semuanya ke JavaScript dan HTML, Anda dapat menggunakan CSS untuk secara bebas mengubah pemformatan dan tata letak, meskipun Shiny memiliki fungsionalitas pembungkus yang layak untuk ini. Tetapi kebetulan bahwa skema warna default mereka mirip dengan yang ada di tangkapan layar yang Anda posting.

sunting: Saya baru sadar Anda tidak perlu mereka menjadi dinamis. Shiny masih membuat halaman web yang sangat bagus, dengan banyak opsi untuk mengatur ulang elemen. Ada juga fungsi untuk mengunduh plot, sehingga Anda dapat membuat dasbor setiap bulan hanya dengan memperbarui file data di aplikasi, dan kemudian menyimpan gambar yang dihasilkan ke PDF.

shadowtalker
sumber
2

Saya memang menemukan opsi Flex Dashboard cukup keren, interaktif dan mudah digunakan. Cobalah mungkin Anda juga akan melakukannya.

Sementara itu, Anda juga dapat mencoba ini juga.

Semoga ini bisa membantu! (Perbarui saya jika Anda mendapatkan sesuatu yang lebih baik dari itu.)

Abhishek Jaiswal
sumber
1

Saya harus membuat dasbor berbasis web. Alat charting utama saya adalah d3js. Tapi saya perlu menggunakan ggplot2 untuk menghasilkan beberapa grafik. Melalui ekstensi ggplot2 d3js, saya bisa membuat yang sama. Jika grafik Anda dapat dihasilkan melalui ekstensi yang ada, maka web memiliki alternatif yang lebih baik. Kemudian Anda dapat mengekspornya ke PDF untuk distribusi.

Vikram
sumber
1

Anda dapat mencoba ShinyDashboard dan mengabaikan aspek interaktif apa pun. Menurut pendapat saya, masih bagus untuk memungkinkan pengguna memperbesar plot atau mencari nilai tertentu dalam kolom. Shiny akan memungkinkan Anda untuk melakukan ini.

Stereo
sumber