Data=read.table(file.choose(), header=T)
Data
##            X38_PROVINSI UHH_LAKI.LAKI
## 1                  ACEH         71.32
## 2        SUMATERA_UTARA         71.78
## 3        SUMATERA_BARAT         72.10
## 4                  RIAU         72.13
## 5                 JAMBI         71.91
## 6      SUMATERA_SELATAN         72.03
## 7              BENGKULU         71.39
## 8               LAMPUNG         72.12
## 9  KEP._BANGKA_BELITUNG         71.96
## 10            KEP._RIAU         72.73
## 11          DKI_JAKARTA         73.39
## 12           JAWA_BARAT         72.78
## 13          JAWA_TENGAH         73.36
## 14        DI_YOGYAKARTA         73.73
## 15           JAWA_TIMUR         72.64
## 16               BANTEN         72.62
## 17                 BALI         72.72
## 18  NUSA_TENGGARA_BARAT         70.64
## 19  NUSA_TENGGARA_TIMUR         70.21
## 20     KALIMANTAN_BARAT         71.84
## 21    KALIMANTAN_TENGAH         71.67
## 22   KALIMANTAN_SELATAN         71.97
## 23     KALIMANTAN_TIMUR         73.44
## 24     KALIMANTAN_UTARA         71.45
## 25       SULAWESI_UTARA         71.94
## 26      SULAWESI_TENGAH         69.17
## 27     SULAWESI_SELATAN         71.75
## 28    SULAWESI_TENGGARA         70.10
## 29            GORONTALO         69.13
## 30       SULAWESI_BARAT         69.50
## 31               MALUKU         69.10
## 32         MALUKU_UTARA         69.53
## 33          PAPUA_BARAT         66.82
## 34     PAPUA_BARAT_DAYA         68.39
## 35                PAPUA         68.85
## 36        PAPUA_SELATAN         66.78
## 37         PAPUA_TENGAH         66.44
## 38     PAPUA_PEGUNUNGAN         65.62
## 39            INDONESIA         71.96
library(ggplot2)

colnames(Data) <- c("PROVINSI", "UHH_LAKI_LAKI")

Data_Provinsi <- subset(Data, PROVINSI != "INDONESIA")

#Histogram UHH Laki-Laki di Indonesia
ggplot(Data_Provinsi, aes(x = UHH_LAKI_LAKI)) +
  geom_histogram(
    binwidth = 2,
  boundary = 65,
  fill = "#4682B4", 
  color = "white"     
  ) +
  scale_x_continuous(
    breaks = seq(64, 76, by = 2),
    limits = c(64, 76)
  ) +
  labs(
    title = "Distribusi UHH Laki-Laki di Indonesia (2025)",
    x = "Umur Harapan Hidup (Tahun)",
    y = "Frekuensi (Jumlah Provinsi)"
  ) +
  theme_classic() +
  theme(
    axis.text.x = element_text(angle = 0, hjust = 0.5),
    plot.title = element_text(
      hjust = 0.5,
      face = "bold"
    )
  )
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_bar()`).

library(ggplot2)

colnames(Data) <- c("PROVINSI", "UHH_LAKI_LAKI")

Data_Provinsi <- subset(Data, PROVINSI != "INDONESIA")

#Visualisasi Boxplot UHH Laki-Laki
ggplot(Data_Provinsi, aes(x = "", y = UHH_LAKI_LAKI)) +
  geom_boxplot(fill = "#69b3a2", 
  color = "#1E3D34",  
  alpha = 0.8) +
  labs(
    title = "Box Plot UHH Laki-Laki Indonesia Tahun 2025",
    x = "",
    y = "Umur Harapan Hidup (Tahun)"
  ) +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold"))

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(stringr)
library(ggplot2)

colnames(Data) <- c("PROVINSI", "UHH_LAKI_LAKI")

#Provinsi di Pulau Kalimantan
Data_Kalimantan <- Data %>%
  filter(str_starts(PROVINSI, "KALIMANTAN"))

print(Data_Kalimantan)
##             PROVINSI UHH_LAKI_LAKI
## 1   KALIMANTAN_BARAT         71.84
## 2  KALIMANTAN_TENGAH         71.67
## 3 KALIMANTAN_SELATAN         71.97
## 4   KALIMANTAN_TIMUR         73.44
## 5   KALIMANTAN_UTARA         71.45
#Visualisasi bar chart
ggplot(Data_Kalimantan, aes(x = reorder(PROVINSI, -UHH_LAKI_LAKI), y = UHH_LAKI_LAKI, fill = PROVINSI)) +
  geom_col(width = 0.6) +
  geom_text(
    aes(label = sprintf("%.2f", UHH_LAKI_LAKI)),
    vjust = -0.5,
    size = 3.5,
    fontface = "bold"
  ) +
  scale_fill_brewer(palette = "Set2") +
  coord_cartesian(ylim = c(60, 78)) +
  labs(
    title = "Umur Harapan Hidup Laki-Laki di Pulau Kalimantan (2025)",
    x = "Provinsi",
    y = "Umur Harapan Hidup (Tahun)"
  ) +
  theme_minimal() +
  theme(
    axis.text.x = element_text(angle = 30, hjust = 1, vjust = 1, size = 9),
    plot.title = element_text(hjust = 0.5, face = "bold", size = 12),
    legend.position = "none"
  )