Dalam analisis statistik dan visualisasi data, scatter plot 3D menjadi salah satu teknik yang paling populer. Dengan menggunakan R sebagai alat utama, Anda dapat dengan mudah membangun scatter plot 3D yang interaktif dan menarik. Pada artikel ini, kita akan membahas cara membuat scatter plot 3D dengan menggunakan paket rgl di R.

Penggunaan dataset

Sebelum membangun scatter plot 3D, Anda perlu memiliki dataset dengan minimal tiga variabel numerik yang dapat digunakan sebagai koordinat x, y, dan z. Pada contoh ini, kita akan menggunakan dataset klasik iris yang telah disediakan oleh R.

Penggunaan fungsi plot3d

Paket rgl menyediakan fungsi plot3d() yang hampir mirip dengan fungsi plot() dasar di R. Namun, pada fungsi plot3d(), Anda perlu memberikan koordinat z selain x dan y.

Keluaran interaktif

Keluaran scatter plot 3D oleh default adalah interaktif. Jika Anda memiliki X11 atau alat serupa yang terinstal, Anda dapat menggerakkan chart untuk pengalaman pengguna yang lebih baik. Selain itu, beberapa perintah command-line juga disediakan untuk mengekspor chart ke format .html, .png, atau .Rmd.

Contoh kode R

# Library rgl dan setupKnitr()
library(rgl)
# setupKnitr()

# Data: dataset iris
data <- iris

# Tambahkan kolom warna
mycolors <- c('royalblue1', 'darkcyan', 'oldlace')
data$color <- mycolors[ as.numeric(data$Species) ]

# Plot
plot3d(
 x = data$`Sepal.Length`,
 y = data$`Sepal.Width`,
 z = data$`Petal.Length`,
 col = data$color,
 type = 's',
 radius = .1,
 xlab="Sepal Length",
 ylab="Sepal Width",
 zlab="Petal Length")

# Untuk menampilkan di dalam dokumen R Markdown:
# rglwidget()

# Untuk menyimpan ke file:
htmlwidgets::saveWidget(
 rglwidget(width = 520, height = 520),
 file = "HtmlWidget/3dscatter.html",
 libdir = "libs",
 selfcontained = FALSE
)

Tips dan Trik R

Jika Anda ingin meningkatkan kemampuan Anda dalam menggunakan R, saya sarankan untuk mengikuti tips dan trik berikut:

❤️ 10 Best R Tricks ❤️

👋 Setelah membuat ratusan chart R selama 12 tahun, saya telah memfilter tips dan trik terbaikku. Terima mereka via email! Sebuah pengetahuan sehari-hari untuk 10 hari ke depan! 🔥