R Shiny Tutorial: Cara Membuat Aplikasi Web Interaktif di R

Diterbitkan: 2020-03-16

Daftar isi

pengantar

Di era teknologi modern ini, berbagai aplikasi tersedia untuk kita semua – mulai dari melacak tingkat kebugaran kita, tidur hingga memberi kita informasi terbaru tentang pasar saham. Aplikasi seperti Robinhood, Google Fit, dan Workit tampaknya sangat berguna karena menggunakan data dan statistik waktu nyata. Karena R adalah pelopor di bidang komputasi dan pemrograman statistik, pengembang memerlukan sistem untuk menggunakan kekuatannya untuk membangun aplikasi. Pelajari lebih lanjut tentang Pemrograman R.

Di sinilah R Shiny datang untuk menyelamatkan hari. Dalam tutorial R Shiny ini, Anda akan mengetahui dasar-dasarnya.

Apa itu R Shiny?

Shiny adalah paket R yang dikembangkan untuk membangun aplikasi web interaktif di R . Dengan ini, Anda dapat membuat aplikasi web menggunakan kode HTML dan CSS asli bersama dengan kode R Shiny. Anda dapat membuat aplikasi web mandiri di situs web yang akan memudahkan visualisasi data. Aplikasi yang dibuat melalui R Shiny ini dapat dengan mulus menampilkan objek R seperti tabel dan plot.

Mari kita lihat beberapa fitur R Shiny:

  • Bangun aplikasi web dengan lebih sedikit baris kode, tanpa JavaScript.
  • Aplikasi ini aktif dan dapat diakses oleh pengguna seperti spreadsheet. Output dapat berubah secara real-time jika pengguna mengubah input.
  • Pengembang dengan sedikit pengetahuan tentang alat web juga dapat membuat aplikasi menggunakan R Shiny.
  • Anda mendapatkan widget bawaan untuk menampilkan tabel, output objek R, dan plot.
  • Anda dapat menambahkan visualisasi dan laporan langsung ke aplikasi web menggunakan paket ini.
  • Antarmuka pengguna dapat dikodekan dalam R atau dapat disiapkan menggunakan HTML, CSS atau JavaScript.
  • Antarmuka pengguna default dibangun menggunakan Bootstrap.
  • Muncul dengan paket WebSocket yang memungkinkan komunikasi cepat antara server web dan R.

Baca: Pohon Keputusan di R

Komponen aplikasi R Shiny

Aplikasi Shiny memiliki dua komponen utama – objek antarmuka pengguna dan fungsi server. Ini adalah argumen yang diteruskan ke metode glossyApp . Metode ini membuat objek aplikasi menggunakan argumen.

Pelajari ilmu data dari Universitas top Dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Baca juga: Algoritma KNN pada R

Mari kita memahami bagian dasar aplikasi R Shiny secara detail:

Fungsi antarmuka pengguna

Fungsi ini mendefinisikan tampilan aplikasi web. Itu membuat aplikasi interaktif dengan mendapatkan input dari pengguna dan menampilkannya di layar. Tag HTML dan CSS dapat digunakan untuk membuat aplikasi terlihat lebih baik. Jadi, saat membuat file ui.R, Anda membuat file HTML dengan fungsi R.

Jika Anda mengetik fluidPage() di konsol R, Anda akan melihat bahwa metode tersebut mengembalikan tag <div class="container-fluid"></div>.

Fungsi input yang berbeda adalah:

  • selectInput () – Metode ini digunakan untuk membuat HTML dropdown yang memiliki berbagai pilihan untuk dipilih.
  • numericInput () – Metode ini membuat area input untuk menulis teks atau angka.
  • radioButtons () – Ini menyediakan tombol radio bagi pengguna untuk memilih input.

Metode tata letak

Berbagai fitur tata letak yang tersedia di Bootstrap diimplementasikan oleh R Shiny. Komponennya adalah:

panel

Ini adalah metode yang mengelompokkan elemen menjadi satu panel. Ini termasuk:

  • panel absolut()
  • panel masukan()
  • panel bersyarat()
  • headerPanel()
  • panel tetap()

Fungsi tata letak

Ini mengatur panel untuk tata letak tertentu. Ini termasuk:

  • cairanBaris()
  • tata letak vertikal()
  • tata letak aliran()
  • tata letak split()
  • tata letak bilah sisi()

Metode keluaran

Metode ini digunakan untuk menampilkan gambar komponen keluaran R, tabel dan plot. Mereka:

  • tableOutput() – Metode ini digunakan untuk menampilkan tabel R
  • plotOutput() – Metode ini digunakan untuk menampilkan objek plot R

Fungsi server

Setelah Anda membuat tampilan aplikasi dan cara mengambil nilai input dari pengguna, sekarang saatnya untuk mengatur server. Fungsi server membantu Anda menulis kode sisi server untuk aplikasi Shiny. Anda dapat membuat fungsi yang memetakan input pengguna ke output yang sesuai. Fungsi ini dipanggil oleh browser web saat aplikasi dimuat.

Dibutuhkan parameter input dan output, dan nilai kembalian diabaikan. Parameter sesi opsional juga diambil oleh metode ini.

R Shiny tutorial: Bagaimana cara memulai dengan R Shiny?

Langkah-langkah untuk mulai bekerja dengan paket R Shiny adalah sebagai berikut:

  • Pergi ke konsol R dan ketik perintah – install.packages(“mengkilap”)
  • Paket ini dilengkapi dengan 11 contoh aplikasi bawaan agar Anda dapat memahami cara kerja Shiny

Anda dapat mulai dengan contoh Hello Shiny untuk memahami struktur dasar. Ketik kode ini untuk menjalankan Hello Shiny:

perpustakaan (mengkilap)

runContoh(“01_halo”)

Langkah-langkah untuk membuat aplikasi Shiny baru adalah:

  • Buka RStudio dan buka opsi File
  • Pilih Proyek Baru di direktori dan klik Aplikasi "Web Mengkilap"
  • Anda akan mendapatkan histogram dan penggeser untuk menguji perubahan output sehubungan dengan input
  • Anda akan mendapatkan dua skrip ui.R dan server.R untuk pengkodean dan penyesuaian aplikasi

Kiat untuk pengembangan aplikasi Shiny

  • Uji aplikasi di browser untuk melihat tampilannya sebelum mengirimnya untuk produksi
  • Jalankan seluruh skrip saat men-debug aplikasi
  • Hati-hati dengan kesalahan umum seperti koma

Kesimpulan

Jika Anda penasaran untuk belajar tentang ilmu data, lihat Program PG Eksekutif kami dalam Ilmu Data yang dibuat untuk para profesional yang bekerja dan menawarkan 10+ studi kasus & proyek, lokakarya praktis, bimbingan dengan pakar industri, 1-on-1 dengan mentor industri, 400+ jam pembelajaran dan bantuan pekerjaan dengan perusahaan-perusahaan top.

Bagian terbaik dari Shiny adalah Anda tidak perlu tahu HTML, CSS, atau JavaScript untuk menggunakannya. Selain itu, Anda dapat membangun aplikasi dan menerapkannya pada versi gratis dari shinyapps.io. Jauhkan tutorial R Shiny ini berguna saat memulai.

Apa manfaat dari R Shiny?

Setiap ilmuwan data perlu mengambil bantuan alat tertentu untuk memunculkan wawasan dari data di depan masyarakat umum. Shiny adalah paket yang tersedia di R untuk mengembangkan aplikasi web interaktif. Anda mendapatkan banyak pilihan untuk mengomunikasikan hasil Anda melalui teks, tabel, visualisasi, atau bagan interaktif. Jika Anda tahu pemrograman R, Anda dapat dengan mudah mengembangkan aplikasi karena Shiny cukup mudah digunakan. Ada kemampuan bawaan untuk berbagi pekerjaan Anda dengan teman dan kolega dengan mudah. Desain aplikasi Shiny sangat menakjubkan. Bahkan jika Anda melihat tampilan default, Anda akan merasa cukup intuitif dan elegan.

Bagaimana Shiny ditemukan berbeda dari aplikasi tradisional?

Mari kita memahami ini lebih baik dengan bantuan contoh aplikasi cuaca. Setiap kali pengguna memuat ulang halaman atau bahkan mengubah input kecil pada halaman, aplikasi harus memperbarui seluruh halaman dengan bantuan JS. Ini akan menambah banyak beban ke sisi server untuk memproses pembaruan.

Di sisi lain, Shiny akan mengisolasi atau memuat ulang elemen aplikasi yang mengurangi beban server. Struktur akan memainkan peran yang sangat penting dalam memahami serta men-debug kode. Ditemukan bahwa menggulir melalui aplikasi web agak sulit dengan aplikasi Shiny dibandingkan dengan aplikasi tradisional.

Apakah R Shiny sulit dipelajari?

Kerangka kerja Shiny adalah paket yang tersedia di R yang berguna untuk membangun aplikasi web interaktif. Paket ini luar biasa karena memungkinkan Anda membuat visualisasi dan laporan yang sangat efektif berdasarkan kumpulan data yang tersedia. Selain menggunakan elemen Shiny, Anda juga dapat menggunakan elemen HTML untuk menyesuaikan konten aplikasi.

Meskipun Shiny adalah alat yang cukup kuat, Anda akan merasa cukup mudah untuk mempelajarinya jika Anda mengetahui pemrograman dalam R. Sangat disarankan untuk mempelajari R Shiny jika Anda berpikir untuk menambahkan sesuatu yang kreatif ke portofolio Anda.