RENDIKA NURHARTANTO SUHARTO
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.
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.
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:
Contoh template sederhana untuk aplikasi R Shiny:
berikut adalah struktur direktori sederhana untuk aplikasi 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:
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)