Body Mass Index merupakan salah satu indeks yang populer di kantor saya. Kenapa?
Karena kantor saya menawarkan produk makanan dan minuman yang sehat kepada masyarakat sehingga harus dipastikan bahwa karyawan yang bekerja di sini harus sehat terlebih dahulu.
Bagaimana kita mau menginspirasi orang lain agar hidup sehat tapi ternyata kitanya sendiri tidak.
Body mass index adalah suatu indeks yang menghitung seberapa ideal tubuh kita. BMI dihitung dengan dua variabel utama, yakni tinggi_badan dan berat_bedan.
Definisi:
\[bmi = \frac{bb}{(\frac{tb}{100})^2}\]
Di mana:
bb merupakan berat badan dalam satuan kilogram.tb merupakan tinggi badan dalam satuan centimeter.BMI kemudian dikelompokkan menjadi 4 kelompok, yakni:
| Kategori | BMI |
|---|---|
| Underweight | < 18.5 |
| Normal | 18.5 - 25 |
| Overweight | 25 - 30 |
| Obese | 30 - 40 |
| Extreme Obese | > 40 |
Jika kita perhatikan dengan baik, formula BMI tersebut membutuhkan input 2 variabel. Sehingga sebenarnya kita bekerja dengan 3 variabel, yakni:
tinggi_badanberat_badanbmiJika kita gambarkan, sejatinya grafik yang didapatkan berbentuk ruang 3 dimensi, dimana berat_badan dan tinggi_badan menjadi sumbu x atau y dan bmi menjadi sumbu z-nya.
Bentuk grafik 3 dimensi bisa kita gambarkan dalam bentuk 2 dimensi menggunakan contour plot. Ketinggian atau elevasi di sumbu z bisa kita gambarkan sebagai garis atau warna yang berbeda.
Untuk memberikan contoh, saya akan buat contour plot-nya dengan menggunakan library(ggplot2).
Object ggplot membutuhkan input berupa data.frame(). Oleh karena itu perlu ada simulasi perhitungan bmi terlebih dahulu.
Saya akan melakukan simulasi perhitungan bmi pada batas:
berat_badan antara 40 kg - 120 kg.tinggi_badan antara 120 cm - 180 cm.Surface Plot BMI
Saya coba sekalian hitung dan tampilkan di mana posisi bmi saya pada plot di atas.
Dari plot di atas, perbedaan warna sebenarnya menentukan perbedaan tinggi sumbu z.
Jika di atas merupakan bentuk 3D yang dimasukkan ke dalam 2D, maka sekarang saya akan membuat bentuk ruang (3D) dari fungsi bmi.
Saya akan menggunakan library(plotly). Input dari plotly adalah berupa matriks \(m \times n\) dengan isi matriks merupakan nilai di sumbu z.
Surface Plot BMI
SUrface plot di atas merupakan dynamic object yang bisa kita putar atau zoom.
Tulisan ini saya publish di Rpubs karena github pages tidak bisa me-render grafik 3D dari plotly.
Kunjungi blog saya di ikanx101.com
Wassalam