Beberapa library yang perlu diinstall sebagai berikut:
library(ggplot2)
library(readxl)
library(ggthemes)
library(gridExtra)
Data diinput dari Mircosoft Excel dengan syntax sebagai berikut:
setwd("C:/Users/User/Desktop/Project/ProSta")
data <- read_excel("data_kesehatan.xlsx")
head(data)
## # A tibble: 6 × 5
## Umur `Jenis Kelamin` `Jumlah Anak` `Status Perokok` `Biaya Asuransi`
## <dbl> <chr> <dbl> <chr> <dbl>
## 1 19 Wanita 0 Ya 16885
## 2 18 Pria 1 Tidak 1726
## 3 28 Pria 3 Tidak 4449
## 4 33 Pria 0 Tidak 21984
## 5 32 Pria 0 Tidak 3867
## 6 31 Wanita 0 Tidak 3757
Dari data tersebut akan disajikan visualisasi data dalam bentuk Pie Chart. Berikut lampiran hasil visualisasi datanya:
pie_chart <- ggplot(data, aes(x = "", fill = `Jenis Kelamin`)) +
geom_bar(width = 1) +
coord_polar("y", start = 0) +
theme_minimal() +
labs(title = "Distribusi Jenis Kelamin") +
theme(axis.text.x = element_blank())
pie_chart
Visualisasi tersebut menggambarkan distribusi jumlah pria dan wanita
dalam dataset yang telah diinputkan. Dari visualisasi tersebut dapat
dijelaskan bahwa jumlah jenis kelamin pria lebih banyak daripada jumlah
jenis kelamin wanita sebagai faktor-faktor yang akan mempengaruhi biaya
asuransi.
Dari data tersebut akan disajikan visualisasi data dalam bentuk Bar Chart. Berikut lampiran hasil visualisasi datanya:
bar_chart <- ggplot(data, aes(x = `Status Perokok`, fill = `Status Perokok`)) +
geom_bar() +
theme_minimal() +
labs(title = "Distribusi Status Perokok", x = "Status Perokok", y = "Frekuensi")
bar_chart
Visualisasi tersebut menggambarkan distribusi jumlah status perokok
dalam dataset yang telah diinputkan. Dari visualisasi data tersebut
dapat dijelaskan bahwa dari total seluruh individu dalam data, jumlah
individu yang tidak merokok lebih banyak dibandingkan jumlah individu
yang merokok.
Dari data tersebut akan disajikan visualisasi data dalam bentuk Dot Plot. Berikut lampiran hasil visualisasi datanya:
dot_plot <- ggplot(data, aes(x = `Umur`, y = `Jumlah Anak`)) +
geom_point(color = "navy", size = 2) +
theme_minimal() +
labs(title = "Dot Plot: Umur dan Jumlah Anak", x = "Umur", y = "Jumlah Anak")
dot_plot
Hasil visualisasi tersebut menggambarkan distribusi umur dan jumlah anak
dari dataset yang telah diinputkan. Dari visualisasi data tersebut dapat
dijelaskan bahwa sebagian besar individu yang tidak memiliki anak berada
dikisaran umur 18-33 tahun.
Berikut terlampir syntax untuk menghitung rata-rata (mean) jumlah anak dari responden:
mean(data$`Jumlah Anak`)
## [1] 0.64
Berikut terlampir syntax untuk menghitung median jumlah anak dari responden:
median(data$`Jumlah Anak`)
## [1] 0
Berikut terlampir syntax untuk menghitung modus jumlah anak dari responden:
modus <- function(x) {
uniqx <- unique(x)
uniqx[which.max(tabulate(match(x, uniqx)))]
}
modus(data$`Jumlah Anak`)
## [1] 0
Berikut terlampir syntax untuk menghitung Statistik 5 Serangkai pada variabel jumlah anak:
summary(data$`Jumlah Anak`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00 0.00 0.00 0.64 1.00 3.00
Berikut terlampir syntax untuk menghitung keragaman data pada variabel jumlah anak:
var(data$`Jumlah Anak`)
## [1] 0.9066667
Berikut terlampir syntax untuk menghitung Standar Deviasi data pada variabel jumlah anak:
sd(data$`Jumlah Anak`)
## [1] 0.9521905
Dari data tersebut akan disajikan visualisasi data dalam bentuk Density Plot. Berikut lampiran hasil visualisasi datanya:
density_plot <- ggplot(data, aes(x = `Umur`,fill = "Umur")) +
geom_density(alpha = 0.5) +
theme_minimal() +
labs(title = "Density Plot: Umur", x = "Umur", y = "Density")
density_plot
Hasil visualisasi tersebut menggambarkan distribusi umur dari dataset
yang telah diinputkan. Dari visualisasi data tersebut dapat dijelaskan
bahwa individu berumur 30 tahun dengan skala 0.029 merupakan responden
terbanyak di antara umur 18-62 tahun.
Rata-rata umur nya adalah :
mean(data$Umur)
## [1] 35.72
Median dari umur adalah :
median(data$Umur)
## [1] 32
Modus dari umur adalah :
modus <- function(x) {
uniqx <- unique(x)
uniqx[which.max(tabulate(match(x, uniqx)))]
}
modus(data$Umur)
## [1] 37
Berikut adalah statistik 5 serangkai dari umur :
summary(data$Umur)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.00 25.00 32.00 35.72 46.00 62.00
Berikut adalah keragaman data pada variabel umur :
var(data$Umur)
## [1] 205.8767
Berikut adalah standar devisiasi pada variabel umur :
sd(data$Umur)
## [1] 14.3484
Dari data tersebut akan disajikan visualisasi data dalam bentuk Histogram. Berikut lampiran hasil visualisasi datanya:
data$`Biaya Asuransi` <- as.numeric(as.character(data$`Biaya Asuransi`))
histogram <- ggplot(data, aes(x = `Biaya Asuransi`)) +
geom_histogram(binwidth = 5000, fill = "skyblue", color = "black") +
theme_minimal() +
labs(title = "Histogram Biaya Asuransi", x = "Biaya Asuransi", y = "Frekuensi")
histogram
Dari hasil visualisasi data tersebut dapat dijelaskan bahwa jumlah biaya
asuransi memiliki pentilan pada range 30000-40000 dan mayoritas membayar
biaya asuransi pada range 1000-20000 dengan frekuensi tertinggi berada
di bawah 10000.
Berikut terlampir syntax untuk menghitung rata-rata (mean) biaya asuransi dari responden:
data$`Biaya Asuransi` <- as.numeric(as.character(data$`Biaya Asuransi`))
mean(data$`Biaya Asuransi`, na.rm = TRUE)
## [1] 12491.24
Berikut terlampir syntax untuk menghitung meidan biaya asuransi dari responden:
data$`Biaya Asuransi` <- as.numeric(as.character(data$`Biaya Asuransi`))
median(data$`Biaya Asuransi`, na.rm = TRUE)
## [1] 7282
Berikut terlampir syntax untuk menghitung modus biaya asuransi dari responden:
data$`Biaya Asuransi` <- as.numeric(as.character(data$`Biaya Asuransi`))
modus <- function(x) {
uniqx <- unique(x)
uniqx[which.max(tabulate(match(x, uniqx)))]
}
modus(data$`Biaya Asuransi`)
## [1] 16885
Berikut terlampir syntax untuk menghitung Statistik 5 Serangkai pada variabel biaya asuransi:
data$`Biaya Asuransi` <- as.numeric(as.character(data$`Biaya Asuransi`))
summary(data$`Biaya Asuransi`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1137 3757 7282 12491 16885 39612
Berikut terlampir syntax untuk menghitung keragaman data pada variabel biaya asuransi:
data$`Biaya Asuransi` <- as.numeric(as.character(data$`Biaya Asuransi`))
var(data$`Biaya Asuransi`, na.rm = TRUE)
## [1] 152555278
Berikut terlampir syntax untuk menghitung Standar Deviasi data pada variabel biaya asuransi:
data$`Biaya Asuransi` <- as.numeric(as.character(data$`Biaya Asuransi`))
sd(data$`Biaya Asuransi`, na.rm = TRUE)
## [1] 12351.33