Dashboard With R-Shiny for Automobile Dataset

RENDIKA NURHARTANTO SUHARTO

Sosial Media


3 orang menyukai ini
Suka

Summary

Dalam portofolio ini, akan dilakukan uji korelasi antara beberapa variabel dalam dataset Automobile dari situs Kaggle. Uji korelasi adalah teknik analisis yang berguna untuk memahami hubungan antara dua variabel yang diuji. Selain itu, akan dilakukan analisis statistika deskriptif. Variabel yang akan diuji adalah Engine Size vs Price, Bore vs Price, dan Highway-MPG vs Price. Bahasa pemrograman R akan digunakan untuk Pembuatan dashboard analisis dan visualisasi akan dilakukan menggunakan R Shiny. Tujuan dari portofolio ini adalah untuk memahami tingkat korelasi antara variabel-variabel tersebut.

Description

Metadata

Link Dataset by Ramakrishnan Srinivasan

Dataset ini berisi data dari 1985 Ward's Automotive Yearbook, dengan sumber data yang terdiri dari: (1) Spesifikasi Mobil dan Truk Impor Model 1985 dari 1985 Ward's Automotive Yearbook, (2) Panduan Mobil Pribadi dari Insurance Services Office, dengan alamat di 160 Water Street, New York, NY 10038, dan (3) Laporan Tabrakan Asuransi dari Insurance Institute for Highway Safety, dengan alamat di Watergate 600, Washington, DC 20037.

✨ Understand About R-Shiny ✨

R Shiny adalah sebuah framework dalam bahasa pemrograman R yang digunakan untuk membuat aplikasi web interaktif dengan mudah. Dengan R Shiny, pengguna dapat membuat aplikasi web yang memanfaatkan kekuatan analisis data dan visualisasi yang telah disediakan oleh R.

Konfigurasi R Shiny melibatkan beberapa langkah, termasuk:

  1. Instalasi Paket: Pastikan paket R Shiny sudah terinstal. Jika belum, instal paket tersebut dengan menggunakan perintah install.packages("shiny").
  2. Menyiapkan UI (User Interface): UI dalam R Shiny biasanya didefinisikan dalam fungsi ui, di mana komponen-komponen seperti input form, output plot, dan tata letak halaman didefinisikan.
  3. Menyiapkan Server: Server dalam R Shiny adalah tempat di mana logika program berada. Ini termasuk pemrosesan input dari pengguna dan menghasilkan output berdasarkan input tersebut. Server biasanya didefinisikan dalam fungsi server.
  4. Menggabungkan UI dan Server: Setelah UI dan server telah didefinisikan, mereka perlu digabungkan dalam sebuah aplikasi menggunakan fungsi shinyApp.

Contoh template sederhana untuk aplikasi R Shiny:

berikut adalah struktur direktori sederhana untuk aplikasi R Shiny:

✨ Let's Code R-Shiny ✨

   ui.R - File   

Baris pertama hingga keenam adalah untuk memuat library yang diperlukan dan membaca dataset menggunakan fungsi read_csv dari paket readr.

Selanjutnya, nilai yang mengandung "?" dalam dataset diubah menjadi NA menggunakan fungsi mutate_all.

Kemudian, kolom "normalized.losses" dihapus menggunakan fungsi subset.

Terakhir, baris yang mengandung nilai NA dihapus dari dataset menggunakan na.omit.

Bagian ini mendefinisikan UI untuk aplikasi R Shiny menggunakan fluidPage.

Di dalamnya, terdapat dashboardPage yang mengatur tata letak halaman dan elemen-elemen dasar seperti dashboardHeader, dashboardSidebar, dan dashboardBody.

dashboardHeader mengatur judul aplikasi dan menu dropdown untuk notifikasi.

dashboardSidebar digunakan untuk menampilkan gambar di tengah halaman sidebar.

dashboardBody berisi isi dari aplikasi yang akan ditampilkan di halaman utama.

Penjelasan detail dari masing-masing tab-panel:

  1. Tab "Home":
    - Tab ini berisi pesan selamat datang dan deskripsi singkat tentang dataset.
    - Dalam tab ini, terdapat elemen 'h3' untuk judul "Selamat Datang di Dashboard Automobie Dataset" dengan pengaturan gaya CSS seperti warna teks biru dan font Poppins.
    - Selain itu, terdapat elemen 'h5' yang menjelaskan sumber data dan informasi tentang dataset, serta tautan untuk mengunjungi sumber data.
    - Di bagian bawah tab, terdapat elemen 'tags$img' untuk menampilkan gambar sampul dataset.
  2. Tab “Input Data”:
    - Tab ini memungkinkan pengguna untuk memilih data eksternal, mengatur separator, dan menampilkan data dalam bentuk tabel.
    - Di dalamnya, terdapat input 'fileInput' yang memungkinkan pengguna memilih file data dari komputer.
    - Ada juga input 'radioButtons' untuk memilih separator antara koma, titik koma, atau tab dalam data.
    - Selain itu, terdapat tautan unduh ('downloadButton') untuk mengunduh data.
    - Di bagian bawah tab, terdapat filter interaktif berdasarkan jenis mobil, gaya bodi, dan jumlah pintu mobil.
    - Terdapat juga dua tabel 'DT::DTOutput' untuk menampilkan data dan ringkasan statistik deskriptif.
  3. Tab “Dashboard”:
    - Tab ini menampilkan visualisasi data dalam bentuk grafik yang interaktif.
    - Terdapat beberapa 'plotOutput' untuk menampilkan grafik.
    - Di antara grafik, terdapat elemen 'verbatimTextOutput' untuk menampilkan informasi yang diperoleh dari interaksi pengguna seperti klik atau seleksi.
    - Pada bagian bawah tab, terdapat 'pickerInput' yang memungkinkan pengguna memilih variabel independen yang ingin ditampilkan dalam grafik.
    - Grafik-gafik tersebut digunakan untuk menampilkan visualisasi berdasarkan pilihan pengguna.

Hasil Tampilan UI

Tampilan diatas hanyalah UI ketika belum diapply dengan server.R (Backend)

   server.R - File   

Pada bagian ini, dilakukan pemanggilan library yang diperlukan untuk aplikasi shiny dan analisis data seperti ggplot2 untuk visualisasi data, dan library lainnya untuk manipulasi data dan analisis korelasi.

Pada bagian ini, dibuat reactive expression dataeks() yang akan merespon perubahan pada input file dataeksternal. Data yang dipilih akan dibaca, diubah formatnya, dan diperiksa untuk nilai yang hilang sebelum diolah lebih lanjut.

Pada bagian ini, dilakukan filter data berdasarkan input yang diberikan oleh pengguna seperti make, body style, dan jumlah pintu mobil. Selanjutnya, hasil filter ditampilkan dalam bentuk datatable menggunakan fungsi DT::renderDataTable dan DT::renderDT.

Pada bagian ini, dibuat fungsi downloadHandler yang memungkinkan pengguna untuk mengunduh data yang telah diproses dalam format CSV.

Pada bagian ini, dilakukan rendering plot menggunakan library ggplot2 berdasarkan data yang telah diproses. Setiap plot menampilkan scatter plot antara variabel tertentu dengan harga mobil.

Pada bagian ini, ditampilkan informasi tentang titik yang diklik atau dipilih pada plot menggunakan fungsi nearPoints dan brushedPoints dari library ggplot2.

Fungsi 'output$plot4' menampilkan plot matriks korelasi berdasarkan variabel independen yang dipilih oleh pengguna. Dilakukan pengecekan apakah data dari input 'dataeks' tidak kosong. Data yang diperoleh disimpan dalam variabel 'data' untuk diolah lebih lanjut. Variabel independen yang dipilih disimpan dalam 'selected_vars'. Menggunakan fungsi 'cor()', dilakukan perhitungan korelasi antara variabel independen yang dipilih. Hasilnya ditampilkan dalam plot menggunakan 'corrplot()', dengan penyesuaian tampilan menggunakan argumen-argumen seperti 'method', 'tl.col', 'tl.srt', dan 'mar'. Terakhir, judul "Correlation Matrix" ditambahkan ke plot untuk memberikan informasi yang jelas kepada pengguna.

Hasil Tampilan UI + Server (Backend)

Informasi Course Terkait
  Kategori: Data Science / Big Data
  Course: Data Science Dengan R