Install Libary

Beberapa Libary yang perlu install sebagai berikut :

library(ggplot2)
library(readxl)
library(csvread)
library(ggthemes)
library(gridExtra)

Input Data

Data diinput dari Microsoft excel dengan syntax sebagai berikut:

setwd("D:/")
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

Pie Chart

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

Bar Chart

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

Dot Plot

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

Boxplot

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

Density Plot

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

Summary

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