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/septi/OneDrive/Documents/punya febri")
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> <chr>
## 1 19 Wanita 0 Ya 17000
## 2 18 Pria 1 Tidak 2000
## 3 28 Pria 3 Tidak 4000
## 4 33 Pria 0 Tidak 22000
## 5 32 Pria 0 Tidak 4000
## 6 31 Wanita 0 Tidak 4000
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`))
## Warning: NAs introduced by coercion
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
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_bin()`).
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] 12750
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] 7500
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] 2000
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. NA's
## 1000 3750 7500 12750 18250 40000 1
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] 160021739
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] 12649.97