library(readxl)
bike <- read_excel("~/VISDAT/bike.xlsx")
View(bike)

Studi kasus

Sebuah perusahaan penyedia layanan penyewaan sepeda ingin memahami faktor-faktor yang memengaruhi jumlah penyewaan sepeda harian.

Data yang digunakan merupakan data historis penyewaan sepeda per hari yang mencakup informasi kondisi cuaca, suhu, kecepatan angin, jenis hari (hari kerja atau hari libur), serta total penyewaan sepeda.

Visualisasi Data Kontinu (Bivariat)

Visualisasi data kontinu (bivariate) adalah teknik visualisasi yang digunakan untuk menampilkan hubungan antara dua variabel yang bersifat numerik (kontinu). Tujuan utamanya adalah untuk mengidentifikasi pola hubungan, seperti hubungan positif, negatif, atau tidak adanya hubungan sama sekali.

Scater plot

Scatter plot digunakan untuk melihat hubungan antara dua variabel numerik, yaitu suhu (temp) dan jumlah penyewaan sepeda (cnt). Setiap titik pada grafik merepresentasikan satu pengamatan harian berdasarkan nilai suhu dan total penyewaan sepeda pada hari tersebut.

ggplot(bike, aes(x = temp, y = cnt)) +
  geom_point(alpha = 0.5, color = "purple") +
  labs(
    title = "Hubungan kecepatan angin dengan Jumlah Penyewaan Sepeda",
    x = "wind speed",
    y = "Jumlah Penyewaan"
  ) +
  theme_minimal()

Berdasarkan scater plot, terlihat bahwa hubungan antara kecepatan angin (windspeed) dan total penyewaan sepeda (cnt) cenderung lemah dan bersifat negatif. Pada nilai kecepatan angin yang lebih rendah, jumlah penyewaan sepeda menunjukkan variasi yang cukup besar, sedangkan pada kecepatan angin yang lebih tinggi, jumlah penyewaan cenderung menurun.

Hal ini mengindikasikan bahwa kondisi angin yang semakin kencang dapat mengurangi minat masyarakat untuk menggunakan sepeda, meskipun pengaruhnya tidak terlalu kuat. Dengan kata lain, kecepatan angin bukan satu-satunya faktor penentu jumlah penyewaan, namun tetap berperan dalam kenyamanan pengguna sepeda.

boxplot

Boxplot digunakan untuk membandingkan distribusi jumlah penyewaan sepeda (cnt) berdasarkan jenis hari (workingday), yaitu hari kerja dan hari libur. Visualisasi ini membantu melihat perbedaan median, sebaran data, serta kemungkinan adanya nilai ekstrem.

ggplot(bike, aes(x = factor(workingday), y = cnt)) +
  geom_boxplot(fill = "orange", alpha = 0.7) +
  labs(
    title = "Perbandingan Penyewaan Sepeda: Hari Kerja vs Libur",
    x = "Hari Kerja (0 = Libur, 1 = Kerja)",
    y = "Jumlah Penyewaan"
  ) +
  theme_minimal()

Boxplot menunjukkan adanya perbedaan distribusi jumlah penyewaan sepeda antara hari kerja dan hari libur. Median jumlah penyewaan pada hari kerja terlihat lebih tinggi dibandingkan hari libur. Selain itu, rentang data pada hari kerja juga lebih lebar, yang menunjukkan variasi penggunaan sepeda yang lebih besar.

ini mengindikasikan bahwa aktivitas commuting atau perjalanan rutin ke tempat kerja dan sekolah berkontribusi signifikan terhadap peningkatan jumlah penyewaan sepeda pada hari kerja. Sebaliknya, pada hari libur, penggunaan sepeda cenderung lebih rendah dan lebih stabil.

Stacked bar

Stacked bar plot digunakan untuk melihat total penyewaan sepeda (cnt) berdasarkan kondisi cuaca (weathersit), dengan pembagian berdasarkan jenis hari (workingday). Tinggi batang menunjukkan akumulasi jumlah penyewaan sepeda pada setiap kategori cuaca.

ggplot(bike, aes(x = weathersit, y = cnt, fill = workingday)) +
  geom_bar(stat = "summary", fun = "sum") +
  labs(
    title = "Total Penyewaan Sepeda berdasarkan Kondisi Cuaca",
    x = "Kondisi Cuaca",
    y = "Total Penyewaan Sepeda",
  ) +
  theme_minimal()

Berdasarkan grafik, terlihat bahwa total penyewaan sepeda paling tinggi terjadi pada kondisi cuaca cerah dan berawan. Sebaliknya, pada kondisi hujan ringan dan cuaca buruk, total penyewaan sepeda relatif lebih rendah.

Selain itu, pada hampir semua kondisi cuaca, kontribusi penyewaan pada hari kerja lebih besar dibandingkan hari libur. Hal ini menunjukkan bahwa selain kondisi cuaca, faktor aktivitas harian seperti hari kerja juga berperan penting dalam meningkatkan jumlah penyewaan sepeda.