Beberapa Libary yang perlu install sebagai berikut :
library(ggplot2)
library(ggrepel)
## Warning: package 'ggrepel' was built under R version 4.4.3
library(readxl)
library(ggthemes)
library(csvread)
library(gridExtra)
Data diinput dari Microsoft excel dengan syntax sebagai berikut:
setwd("C:/Users/NICO/Downloads")
rawData <- read.csv("quality_of_life_indices_by_country.csv")
filterByYear <- subset(rawData, Year == 2024)
filterByRank <- subset(filterByYear, Rank >= 73 & Rank <= 78)
data <- filterByRank
head(data)
## Rank Country Quality.of.Life.Index Purchasing.Power.Index Safety.Index
## 1400 73 Kazakhstan 98.4 36.8 54.1
## 1401 74 Thailand 97.7 32.9 62.1
## 1402 75 Indonesia 94.8 25.8 53.9
## 1403 76 Vietnam 92.7 32.5 57.8
## 1404 77 Philippines 85.9 25.9 57.2
## 1405 78 Egypt 83.8 15.2 52.7
## Health.Care.Index Cost.of.Living.Index Property.Price.to.Income.Ratio
## 1400 60.1 33.5 10.4
## 1401 77.2 36.0 26.5
## 1402 60.8 28.5 18.9
## 1403 60.8 30.8 23.7
## 1404 67.4 33.6 27.0
## 1405 47.5 29.1 16.2
## Traffic.Commute.Time.Index Pollution.Index Climate.Index Year
## 1400 35.8 73.6 39.8 2024
## 1401 39.0 75.5 67.6 2024
## 1402 43.0 67.4 64.0 2024
## 1403 29.1 83.8 71.2 2024
## 1404 43.1 72.5 60.8 2024
## 1405 48.1 82.8 92.0 2024
Dari data tersebut akan disajikan visualisasi data dalam bentuk Pie Chart. berikut terlampir hasil visualisasi datanya:
pie_chart <- ggplot(data, aes(x = "", fill = Country)) +
geom_bar(width = 1, stat = "count") +
coord_polar("y", start = 0) +
theme_minimal() +
labs(title = "Kualitas Hidup di Beberapa Negara Berkembang (2024)") +
theme(axis.text.x = element_blank()) +
scale_fill_brewer(palette = "Set3")
pie_chart
Dari hasil visualisasi tersebut dapat di jelaskan bahwa Kualitas Hidup
Di Negara berkembang Negara Kazakhstan merupakan Negara yang paling
banyak, sedangkan paling sedikit ditempati oleh Negara Mesir.
Dari data tersebut akan disajikan visualisasi data dalam bentuk Bar Chart. berikut terlampir hasil visualisasi datanya:
bar_chart <- ggplot(data, aes(x = Country, y = `Quality.of.Life.Index`, fill = Country)) +
geom_col() +
theme_minimal() +
labs(title = "Quality of Life Index by Country", x = "Country", y = "Quality of Life Index") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
bar_chart
Berdasarkan hasil bar chart diatas, Negara Kazakhstan menempati
peringkat tertinggi dalam kualitas hidup, Sedangkan yang paling sedikit
menempati peringkat terendah dalam kualitas hidup ditempati oleh Negara
Mesir.
Dari data tersebut akan disajikan visualisasi data dalam bentuk Dot Plot. berikut terlampir hasil visualisasi datanya:
dot_plot <- ggplot(data, aes(x = Safety.Index, y = Health.Care.Index)) +
geom_point(color = "blue", size = 3) +
theme_minimal() +
labs(title = "Dot Plot: Safety Index vs. Health Care Index", x = "Safety Index", y = "Health Care Index") +
geom_text(aes(label = Country), vjust = -0.5, hjust = 0.5)
dot_plot
berdasarkan Dot plot diatas menunjukkan Indeks Keamanan dan indeks
Layanan Kesehatan. Terlihat bahwa Negara Thailand memiliki indeks
keamanan dan indeks layanan kesehatan tertinggi dibanding negara lain
dalam grafik ini, sebaliknya Negara Mesir (Egypt) menempati peringkat
terendah baik dalam indeks keamanan maupun layanan kesehatan.
Dari data tersebut akan disajikan visualisasi data dalam bentuk Boxplot. berikut terlampir hasil visualisasi datanya:
boxplot_data <- ggplot(data, aes(y = `Property.Price.to.Income.Ratio`)) +
geom_boxplot(fill = "steelblue", alpha = 0.6) +
theme_minimal() +
labs(title = "Boxplot: Property Price to Income Ratio", y = "Property Price to Income Ratio")
boxplot_data
Boxplot di atas menggambarkan distribusi rasio harga properti terhadap
pendapatan (Property Price to Income Ratio). Dari visualisasi ini, dapat
diperhatikan bahwa Harga properti dibandingkan dengan pendapatan cukup
bervariasi, dengan sebagian besar data berada dalam rentang yang cukup
luas.
Dari data tersebut akan disajikan visualisasi data dalam bentuk Histogram. berikut terlampir hasil visualisasi datanya:
histogram <- ggplot(data, aes(x = Cost.of.Living.Index)) +
geom_histogram(bins = 10, fill = "blue", color = "black", alpha = 0.8) +
geom_text_repel(
aes(y = 0, label = Country),
angle = 90, hjust = 1, size = 3, nudge_y = 5,
segment.color = NA
) +
theme_minimal() +
labs(
title = "Histogram: Cost Of Living Index",
x = "Cost Of Living Index",
y = "Frekuensi"
) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
histogram
Dari data tersebut akan disajikan visualisasi data dalam bentuk Density Plot. berikut terlampir hasil visualisasi datanya:
density_plot <- ggplot(data, aes(x = Pollution.Index)) +
geom_density(fill = "orange", alpha = 0.5) +
theme_minimal() +
labs(title = "Density Plot: Pollution Index", x = "Pollution Index", y = "Density")
density_plot
Dari Density plot di atas menggambarkan distribusi Pollution Index yang
menyimpulkan bahwa Polusi udara cenderung tinggi di sebagian besar
wilayah yang diamati, dengan mayoritas memiliki indeks di atas 70.
Dari data tersebut akan disajikan visualisasi data dalam bentuk deskriptif numerik berdasarkan “Quality of Life Index”, berikut terlampir hasil visualisasi datanya:
quality_of_life <- data$Quality.of.Life.Index
mean_quality <- mean(quality_of_life, na.rm = TRUE)
median_quality <- median(quality_of_life, na.rm = TRUE)
mode_quality <- as.numeric(names(which.max(table(quality_of_life))))
q1_quality <- quantile(quality_of_life, 0.25, na.rm = TRUE)
q3_quality <- quantile(quality_of_life, 0.75, na.rm = TRUE)
range_quality <- range(quality_of_life, na.rm = TRUE)
variance_quality <- var(quality_of_life, na.rm = TRUE)
sd_quality <- sd(quality_of_life, na.rm = TRUE)
stat_summary_df <- data.frame(
Statistic = c("Mean", "Median", "Mode", "Q1", "Q3", "Min", "Max", "Variance", "SD"),
Value = c(mean_quality, median_quality, mode_quality, q1_quality, q3_quality,
range_quality[1], range_quality[2], variance_quality, sd_quality)
)
print(stat_summary_df)
## Statistic Value
## 1 Mean 92.216667
## 2 Median 93.750000
## 3 Mode 83.800000
## 4 Q1 87.600000
## 5 Q3 96.975000
## 6 Min 83.800000
## 7 Max 98.400000
## 8 Variance 37.189667
## 9 SD 6.098333