Dataset yang digunakan dalam studi kasus ini merupakan data aktivitas penyewaan sepeda harian di Washington, D.C. selama dua tahun yang memuat berbagai variabel seperti musim, kondisi cuaca, dan jenis hari. Sebelum melakukan analisis lanjutan, tahap eksplorasi data menjadi langkah penting untuk memahami karakteristik dan pola awal yang terkandung dalam data. Dalam alur Exploratory Data Analysis (EDA), pemahaman biasanya dimulai dari analisis univariat untuk melihat distribusi masing-masing variabel, kemudian dilanjutkan dengan visualisasi bivariat guna mengeksplorasi hubungan antarvariabel, karena fenomena nyata umumnya melibatkan interaksi lebih dari satu faktor. Visualisasi bivariat memungkinkan peneliti mengidentifikasi pola hubungan, kekuatan asosiasi, bentuk relasi, serta mendeteksi anomali yang hanya terlihat ketika dua variabel dibandingkan secara bersamaan. Dengan demikian, penggunaan visualisasi dalam studi kasus ini tidak hanya bertujuan menampilkan data, tetapi juga membantu membangun pemahaman kontekstual sebagai dasar interpretasi dan analisis statistik selanjutnya.
library(ggplot2)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
bike_data <- read.csv("C:/Users/user/Downloads/day.csv")
bike_data$season <- factor(bike_data$season, levels = c(1,2,3,4),
labels = c("Spring", "Summer", "Fall", "Winter"))
bike_data$workingday <- factor(bike_data$workingday, levels = c(0,1),
labels = c("Holiday", "Working Day"))
bike_data$weathersit <- factor(bike_data$weathersit, levels = c(1,2,3),
labels = c("Clear", "Mist", "Light Snow/Rain"))
ggplot(bike_data, aes(x = temp, y = cnt)) +
geom_point(alpha = 0.5, color = "pink") +
geom_smooth(method = "lm", se = FALSE, color = "red") +
labs(title = "Hubungan Suhu dan Jumlah Penyewaan",
x = "Temperature",
y = "Total Rentals")
## `geom_smooth()` using formula = 'y ~ x'
## Interpretasi Berdasarkan grafik hubungan suhu dan jumlah penyewaan,
suhu menunjukkan korelasi positif dengan jumlah penyewaan secara
keseluruhan; garis regresi menunjukkan tren menaik dari suhu rendah ke
suhu tinggi, menunjukkan bahwa suhu yang lebih tinggi memiliki
kecenderungan untuk meningkatkan jumlah penyewaan secara signifikan.
Sebaliknya, variasi ditunjukkan oleh sebaran titik data yang cukup luas
di sekitar garis. Oleh karena itu, dapat disimpulkan bahwa suhu
meningkatkan jumlah penyewaan, tetapi bukan satu-satunya faktor yang
memengaruhinya.
ggplot(bike_data, aes(x = season, y = cnt)) +
geom_boxplot(fill = "pink", color = "maroon") +
labs(title = "Boxplot of Total Bike Rentals by Musim",
x = "Musim",
y = "Total Rentals (cnt)") +
theme_minimal()
## Interpretasi Jumlah penyewaan sepeda berbeda setiap musim, seperti
yang ditunjukkan oleh boxplot yang menunjukkan jumlah total penyewaan
sepeda berdasarkan musim. Menurut median, musim gugur memiliki tingkat
penyewaan tertinggi, diikuti oleh musim panas (summer), musim dingin
(winter), dan musim semi (spring). Selain itu, variasi data pada musim
panas dan gugur tampak lebih besar dibandingkan musim semi, yang
menunjukkan tingkat penyewaan yang lebih tinggi pada kedua musim
tersebut. Ada juga beberapa perbedaan, seperti nilai sangat tinggi musim
semi dan nilai sangat rendah musim dingin. Secara keseluruhan, jumlah
penyewaan dipengaruhi oleh musim, dengan penyewaan cenderung lebih
tinggi pada musim yang lebih hangat.
ggplot(bike_data, aes(x = windspeed, y = cnt)) +
geom_point(color = "steelblue", alpha = 0.5) +
geom_smooth(method = "lm", color = "purple") +
labs(title = "Hubungan Kecepatan Angin terhadap Total Penyewaan",
x = "Windspeed (Normalized)",
y = "Total Penyewa (cnt)") +
theme_light()
## `geom_smooth()` using formula = 'y ~ x'
## Interpretasi Menurut grafik Hubungan Kecepatan Angin terhadap Jumlah
Penyewaan Sepeda, ada korelasi negatif antara kecepatan angin dan jumlah
penyewaan sepeda. Garis regresi yang menurun menunjukkan bahwa ketika
kecepatan angin lebih tinggi, jumlah penyewaan cenderung menurun,
sedangkan ketika kecepatan angin lebih rendah, jumlah penyewaan
cenderung lebih rendah. Sebaliknya, sebaran titik data yang cukup luas
di sekitar garis tren menunjukkan bahwa pengaruh kecepatan angin tidak
sepenuhnya kuat, dan ada alasan lain yang mungkin memengaruhi jumlah
penyewaan sepeda secara keseluruhan.
weather_summary <- bike_data %>%
group_by(weathersit) %>%
summarise(mean_cnt = mean(cnt))
ggplot(weather_summary, aes(x = weathersit, y = mean_cnt, fill = weathersit)) +
geom_col() +
labs(title = "Rata-rata Penyewa Berdasarkan Kondisi Cuaca",
x = "Kondisi Cuaca",
y = "Rata-rata Jumlah Penyewa") +
theme_minimal() +
scale_fill_brewer(palette = "Set2")
## Interpretasi Ketika cuaca cerah, sekitar 4.900 sepeda disewa
rata-rata, tetapi ketika cuaca menjadi berkabut, rata-rata penyewaan
turun menjadi sekitar 4.000. Ketika hujan atau salju ringan turun,
rata-rata penyewaan hanya sekitar 1.800. Ini menunjukkan bahwa cuaca
memiliki pengaruh yang cukup besar terhadap jumlah penyewaan sepeda.
cuaca yang semakin tidak mendukung cenderung mengikuti penurunan
aktivitas penyewaan sepeda.
ggplot(bike_data, aes(x = weathersit, y = cnt)) +
geom_violin(fill = "lightpink", color = "darkred", alpha = 0.6) +
geom_boxplot(width = 0.1, fill = "white", color = "black", outlier.shape = NA) +
labs(title = "Violin Plot of Total Bike Rentals by Kondisi Cuaca",
x = "Kondisi Cuaca",
y = "Total Rentals (cnt)") +
theme_minimal()
## Interpretasi Berdasarkan violin plot total penyewaan sepeda
berdasarkan kondisi cuaca, terlihat bahwa distribusi penyewaan paling
tinggi dan paling padat terjadi pada kondisi cuaca cerah (clear), dengan
median yang juga berada pada nilai tertinggi dibandingkan kondisi
lainnya. Pada kondisi berkabut (mist), distribusi penyewaan masih cukup
tinggi namun lebih rendah dibandingkan cuaca cerah, dengan penyebaran
data yang cukup luas. Sementara itu, pada kondisi hujan atau salju
ringan (light snow/rain), distribusi penyewaan cenderung lebih rendah
dengan median paling kecil serta kepadatan data yang terkonsentrasi pada
nilai penyewaan rendah. Secara keseluruhan, grafik ini menunjukkan bahwa
semakin baik kondisi cuaca, semakin tinggi dan semakin besar variasi
jumlah penyewaan sepeda.
ggplot(bike_data, aes(x = workingday, y = cnt, fill = workingday)) +
geom_boxplot() +
labs(title = "Distribusi Penyewa: Hari Kerja vs Hari Libur",
x = "Tipe Hari",
y = "Total Penyewa (cnt)") +
scale_fill_manual(values = c("#FF9", "#FF9999")) +
theme_minimal()
## Interpretasi Berdasarkan boxplot distribusi penyewa antara hari kerja
dan hari libur, terlihat bahwa jumlah penyewaan pada hari kerja
cenderung sedikit lebih tinggi dibandingkan hari libur, yang ditunjukkan
oleh median hari kerja yang lebih besar. Meskipun demikian, perbedaan
keduanya tidak terlalu signifikan karena rentang dan sebaran data pada
kedua tipe hari relatif mirip. Baik hari kerja maupun hari libur
menunjukkan variasi penyewaan yang cukup besar, dengan nilai minimum dan
maksimum yang tidak jauh berbeda. Secara keseluruhan, tipe hari
memengaruhi jumlah penyewaan, namun pengaruhnya tidak terlalu mencolok
dibandingkan faktor lainnya.
ggplot(bike_data, aes(x = season, y = cnt, fill = season)) +
geom_violin(alpha = 0.6) +
geom_boxplot(width = 0.1, fill = "white", outlier.shape = NA) +
labs(title = "Kepadatan Penyewa di Setiap Musim",
x = "Musim",
y = "Total Penyewa (cnt)") +
theme_classic()
## Interpretasi Menurut violin plot kepadatan penyewa, musim gugur
(musim gugur) dan musim panas (musim panas) memiliki jumlah penyewaan
yang relatif lebih tinggi dibandingkan musim lainnya, yang ditunjukkan
oleh median yang lebih besar dan kepadatan distribusi yang lebih tinggi.
Musim semi (musim semi) memiliki jumlah penyewaan paling rendah dan
distribusi yang lebih terkonsentrasi pada nilai kecil. Musim dingin
(musim dingin) berada di antara musim panas dan musim dingin Secara
keseluruhan, grafik ini menunjukkan bahwa musim memengaruhi penyewaan
sepeda, dengan musim yang lebih hangat cenderung meningkatkan
penyewaan.
Berdasarkan hasil Exploratory Data Analysis (EDA) terhadap dataset penyewaan sepeda harian di Washington, D.C., dapat disimpulkan bahwa faktor cuaca dan musim memiliki pengaruh yang cukup signifikan terhadap jumlah penyewaan sepeda. Suhu menunjukkan hubungan positif dengan jumlah penyewaan, di mana peningkatan suhu cenderung diikuti oleh meningkatnya jumlah penyewaan. Sebaliknya, kecepatan angin memiliki hubungan negatif, meskipun pengaruhnya tidak terlalu kuat. Dari sisi musiman, musim gugur dan musim panas mencatat tingkat penyewaan tertinggi, sedangkan musim semi cenderung terendah. Kondisi cuaca juga berperan penting, dengan penyewaan paling tinggi terjadi saat cuaca cerah dan menurun secara signifikan pada kondisi hujan atau salju ringan. Sementara itu, perbedaan antara hari kerja dan hari libur relatif tidak terlalu mencolok, meskipun hari kerja sedikit lebih tinggi. Secara keseluruhan, analisis ini menunjukkan bahwa variabel lingkungan seperti suhu, musim, dan kondisi cuaca merupakan faktor dominan dalam memengaruhi pola penyewaan sepeda, sehingga dapat menjadi dasar penting untuk analisis statistik lanjutan maupun pengambilan keputusan operasional.