data=read.table(file.choose(), header=TRUE)
data
##            Provinsi  TPT
## 1              Aceh 5.56
## 2             Sumut 5.10
## 3            Sumbar 5.79
## 4              Riau 3.85
## 5             Jambi 4.10
## 6            Sumsel 3.97
## 7          Bengkulu 3.17
## 8           Lampung 4.12
## 9   Bangka_Belitung 3.85
## 10         Kep_Riau 6.94
## 11      DKI_Jakarta 6.03
## 12            Jabar 6.91
## 13           Jateng 4.39
## 14              DIY 3.24
## 15            Jatim 3.74
## 16           Banten 7.02
## 17             Bali 1.87
## 18              NTB 2.73
## 19              NTT 3.17
## 20           Kalbar 4.90
## 21          Kalteng 3.67
## 22           Kalsel 3.81
## 23           Kaltim 5.75
## 24          Kaltara 4.01
## 25            Sulut 5.98
## 26          Sulteng 3.15
## 27           Sulsel 4.87
## 28           Sultra 3.22
## 29        Gorontalo 3.06
## 30           Sulbar 3.02
## 31           Maluku 6.18
## 32            Malut 4.16
## 33            Papua 3.25
## 34      Papua_Barat 5.12
## 35    Papua_Selatan 4.20
## 36     Papua_Tengah 4.10
## 37 Papua_Pegunungan 2.15
## 38 Papua_Barat_Daya 6.02
length(data$TPT)
## [1] 38
mean(data$TPT)
## [1] 4.372895
median(data$TPT)
## [1] 4.1
range(data$TPT)
## [1] 1.87 7.02
max(data$TPT)-min(data$TPT)
## [1] 5.15
max(data$TPT)
## [1] 7.02
min(data$TPT)
## [1] 1.87
var(data$TPT)
## [1] 1.792691
sd(data$TPT)
## [1] 1.338914
quantile(data$TPT)
##     0%    25%    50%    75%   100% 
## 1.8700 3.2425 4.1000 5.4500 7.0200
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.3
ggplot(data, aes(x = TPT)) + geom_histogram(
  binwidth = 1,
  boundary = 1,
  fill = "pink",
  color = "black"
) +
scale_x_continuous(
  breaks = seq(1, 8, by = 1),
  limits = c(1, 8)
) +
labs(
  title = "TPT di Indonesia",
  x = "TPT",
  y = "Freq"
) +
theme_classic() +
theme(
  axis.text.x = element_text(angle = 0, hjust = 0.5),
  plot.title = element_text(
    hjust = 0.5,
    face = "bold"
  )
)

ggplot(data, aes(x = "", y = TPT)) +
  geom_boxplot(fill = "pink") +
  labs(title = "Box Plot TPT Indonesia 2024", x = "", y = "TPT") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold"))

library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.3
## 
## 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(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.5.3
## Warning: package 'tibble' was built under R version 4.5.3
## Warning: package 'tidyr' was built under R version 4.5.3
## Warning: package 'readr' was built under R version 4.5.3
## Warning: package 'purrr' was built under R version 4.5.3
## Warning: package 'stringr' was built under R version 4.5.3
## Warning: package 'forcats' was built under R version 4.5.3
## Warning: package 'lubridate' was built under R version 4.5.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.1     ✔ stringr   1.6.0
## ✔ lubridate 1.9.5     ✔ tibble    3.3.1
## ✔ purrr     1.2.2     ✔ tidyr     1.3.2
## ✔ readr     2.2.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggplot2)
Data_Kalimantan <- data %>%
  filter(str_starts(Provinsi, "Kal"))
Data_Kalimantan
##   Provinsi  TPT
## 1   Kalbar 4.90
## 2  Kalteng 3.67
## 3   Kalsel 3.81
## 4   Kaltim 5.75
## 5  Kaltara 4.01
ggplot(Data_Kalimantan, aes(x = Provinsi, y = TPT, fill = Provinsi)) +
  geom_col() +
  labs(
    title = "TPT Pulau Kalimantan Tahun 2024",
    x = "Provinsi",
    y = "TPT"
  ) +
  theme_minimal() +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1),
    plot.title = element_text(hjust = 0.5, face = "bold"),
    legend.position = "none"
  )