Visualisasi data Road Accident Survival

Ini adalah beberapa library yang digunakan untuk membuat Visualisasi data.

library(readxl)
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
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.2

Gambaran Umum Data

Dataset ini didapat dari website Road Accident Survival Dataset. Data ini berisi informasi jumlah korban dari kecelakaan yang terjadi di jalanan. Data ini akan dianalisis untuk memahami jumlah korban berdasarkan gender, serta melihat persentase dari aspek lainnya

Beberapa statistik deskriptif awal menunjukkan variasi yang cukup signifikan dalam jumlah korban laki-laki dan perempuan. Oleh karena itu, diperlukan visualisasi lebih lanjut untuk memahami pola distribusinya.

setwd("C:/Users/San/Downloads")
data <- read_excel("Accident_Survival.xlsx")
head(data)
## # A tibble: 6 × 6
##     Age Gender Speed_of_Impact Helmet_Used Seatbelt_Used Survived
##   <dbl> <chr>            <dbl> <chr>       <chr>            <dbl>
## 1    56 Female              27 No          No                   1
## 2    69 Female              46 No          Yes                  1
## 3    46 Male                46 Yes         Yes                  0
## 4    32 Male               117 No          Yes                  0
## 5    60 Female              40 Yes         Yes                  0
## 6    25 Male                49 Yes         Yes                  1
data$Age <- as.numeric(data$Age)
data$Speed_of_Impact <- as.numeric(data$Speed_of_Impact)
data$Survived <- as.numeric(data$Survived)
clean_data <- na.omit(data)

Visualisasi Data

1. Pie Chart - Distribusi Gender

Visualisasi ini menunjukkan perbedaan jumlah korban berdasarkan gender. Gender dengan jumlah korban terbanyak dapat diidentifikasi dengan mudah melalui Pie Chart.

gender_count <- table(clean_data$Gender)
pie(gender_count, main = "Distribusi Gender", col = c("lightblue", "pink"))

Dari Pie chart ini, terlihat bahwa perempuan merupakan korban terbanyak dalam kecelakaan dijalan dibandingkan laki-laki

2. Bar Chart - Perbedaan Jumlah Korban Berdasarkan Gender

Bar chart digunakan untuk melihat jumlah korban berdasarkan gender. Visualisasi ini membantu mengidentifikasi banyaknya korban yang selamat.

ggplot(clean_data, aes(x = Gender, fill = as.factor(Survived))) +
  geom_bar(position = "dodge") +
  labs(title = "Jumlah Korban Berdasarkan Gender", x = "Gender", y = "Count", fill = "Survived")

Bar chart menunjukkan bagaimana distribusi jumlah gender yang selamat saat kecelakaan.

3. Histogram - Distribusi Umur yang Terlibat dalam Kecelakaan

Histogram ini menggambarkan distribusi umur yang terlibat dalam kecelakaan. Beberapa rentang umur terlihat kerap terlibat dalam kecelakaan.

ggplot(clean_data, aes(x = Age)) +
  geom_histogram(bins = 10, fill = "skyblue", color = "black", alpha = 0.7) +
  labs(title = "Distribusi Umur", x = "Umur", y = "Frekuensi")

Histogram menunjukkan distribusi umur yang terlibat. Mayoritas umur yang terlibat dalam rentang umur 40-60, sedangkan rentang umur 20 lebih sedikit daripada 40-60.

4. Density Plot - Sebaran Rasio Kecepatan Tabrakan pada Kecelakaan

Density plot ini menggambarkan distribusi rasio kecepatan tabrakan pada kecelakaan.

ggplot(clean_data, aes(x = Speed_of_Impact)) +
  geom_density(fill = "red", alpha = 0.5) +
  labs(title = "Density Plot: Kecepatan Tabrakan", x = "Speed of Impact (km/h)", y = "Density")

Terlihat di grafik atas kecepatan yang sering terjadi pada kecepatan 75 km/h.

5. Boxplot - Distribusi Jumlah Kecepatan Tabrakan Berdasarkan Kelangsungan Hidup

Boxplot digunakan untuk melihat distribusi jumlah kelangsungan hidup di tiap kecelakaan berdasarkan kecepatan tabrakan. Visualisasi ini membantu mengidentifikasi kecepatan tabrakan berdasarkan kelangsungan hidup.

ggplot(clean_data, aes(x = as.factor(Survived), y = Speed_of_Impact, fill = as.factor(Survived))) +
  geom_boxplot() +
  labs(title = "Boxplot Kecepatan Tabrakan Berdasarkan Kelangsungan Hidup", x = "Survived", y = "Speed of Impact (km/h)")

Statistik Deskriptif : Data Rasio

Chunk berikut menghitung berbagai ukuran statistik deskriptif dari rasio kecelakaan yang terjadi, termasuk mean, median, modus, kuartil, varians, dan standar deviasi.

summary_stats <- clean_data %>%
  summarise(
    Mean_Age = mean(Age),
    Median_Age = median(Age),
    Mode_Age = as.numeric(names(sort(table(Age), decreasing = TRUE)[1])),
    Q1_Age = quantile(Age, 0.25),
    Q3_Age = quantile(Age, 0.75),
    Range_Age = max(Age) - min(Age),
    Variance_Age = var(Age),
    SD_Age = sd(Age)
  )

print(summary_stats)
## # A tibble: 1 × 8
##   Mean_Age Median_Age Mode_Age Q1_Age Q3_Age Range_Age Variance_Age SD_Age
##      <dbl>      <dbl>    <dbl>  <dbl>  <dbl>     <dbl>        <dbl>  <dbl>
## 1     43.3         44       56     31     56        51         225.   15.0