library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.3
Data <- read.delim(file.choose(), header = FALSE, fill = TRUE,
col.names = c("Provinsi", "Sanitasi"))
Data$Provinsi <- trimws(Data$Provinsi)
Data$Sanitasi <- as.numeric(Data$Sanitasi)
## Warning: NAs introduced by coercion
Data <- Data[!is.na(Data$Sanitasi) & Data$Provinsi != "INDONESIA", ]
Data
## Provinsi Sanitasi
## 2 ACEH 82.21
## 3 SUMATERA UTARA 87.47
## 4 SUMATERA BARAT 74.59
## 5 RIAU 91.21
## 6 JAMBI 85.88
## 7 SUMATERA SELATAN 85.50
## 8 BENGKULU 85.75
## 9 LAMPUNG 87.29
## 10 KEP. BANGKA BELITUNG 96.45
## 11 KEP. RIAU 90.96
## 12 DKI JAKARTA 93.98
## 13 JAWA BARAT 76.20
## 14 JAWA TENGAH 87.51
## 15 DI YOGYAKARTA 96.94
## 16 JAWA TIMUR 88.26
## 17 BANTEN 90.71
## 18 BALI 98.20
## 19 NUSA TENGGARA BARAT 88.29
## 20 NUSA TENGGARA TIMUR 80.80
## 21 KALIMANTAN BARAT 88.37
## 22 KALIMANTAN TENGAH 83.14
## 23 KALIMANTAN SELATAN 86.80
## 24 KALIMANTAN TIMUR 92.57
## 25 KALIMANTAN UTARA 86.00
## 26 SULAWESI UTARA 87.72
## 27 SULAWESI TENGAH 79.62
## 28 SULAWESI SELATAN 94.19
## 29 SULAWESI TENGGARA 91.96
## 30 GORONTALO 84.70
## 31 SULAWESI BARAT 85.98
## 32 MALUKU 83.09
## 33 MALUKU UTARA 84.12
## 34 PAPUA BARAT 78.55
## 35 PAPUA BARAT DAYA 79.56
## 36 PAPUA 76.71
## 37 PAPUA SELATAN 65.06
## 38 PAPUA TENGAH 39.73
## 39 PAPUA PEGUNUNGAN 16.34
str(Data)
## 'data.frame': 38 obs. of 2 variables:
## $ Provinsi: chr "ACEH" "SUMATERA UTARA" "SUMATERA BARAT" "RIAU" ...
## $ Sanitasi: num 82.2 87.5 74.6 91.2 85.9 ...
nrow(Data)
## [1] 38
length(Data$Sanitasi)
## [1] 38
min(Data$Sanitasi, na.rm = TRUE)
## [1] 16.34
max(Data$Sanitasi, na.rm = TRUE)
## [1] 98.2
range(Data$Sanitasi, na.rm = TRUE)
## [1] 16.34 98.20
max(Data$Sanitasi, na.rm = TRUE) - min(Data$Sanitasi, na.rm = TRUE)
## [1] 81.86
mean(Data$Sanitasi, na.rm = TRUE)
## [1] 82.95816
median(Data$Sanitasi, na.rm = TRUE)
## [1] 85.99
var(Data$Sanitasi, na.rm = TRUE)
## [1] 223.8079
sd(Data$Sanitasi, na.rm = TRUE)
## [1] 14.96021
quantile(Data$Sanitasi, na.rm = TRUE)
## 0% 25% 50% 75% 100%
## 16.3400 81.1525 85.9900 90.1250 98.2000
summary(Data$Sanitasi)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 16.34 81.15 85.99 82.96 90.12 98.20
ggplot(Data, aes(x = Sanitasi)) +
geom_histogram(binwidth = 10, boundary = 0,
fill = "steelblue",
color = "white",
na.rm = TRUE) +
labs(
title = "Histogram Persentase Rumah Tangga dengan Akses Sanitasi Layak",
x = "Persentase Akses Sanitasi Layak (%)",
y = "Frekuensi"
)

ggplot(Data, aes(y = Sanitasi)) +
geom_boxplot(fill = "lemonchiffon1",
color = "lemonchiffon4",
na.rm = TRUE) +
labs(
title = "Boxplot Persentase Rumah Tangga dengan Akses Sanitasi Layak",
y = "Persentase Akses Sanitasi Layak (%)"
)

Data_Kalimantan <- Data[grepl("KALIMANTAN", Data$Provinsi), ]
Data_Kalimantan
## Provinsi Sanitasi
## 21 KALIMANTAN BARAT 88.37
## 22 KALIMANTAN TENGAH 83.14
## 23 KALIMANTAN SELATAN 86.80
## 24 KALIMANTAN TIMUR 92.57
## 25 KALIMANTAN UTARA 86.00
ggplot(Data_Kalimantan, aes(x = Provinsi, y = Sanitasi, fill = Provinsi)) +
geom_col(na.rm = TRUE) +
geom_text(aes(label = Sanitasi), vjust = -0.3) +
labs(
title = "Persentase Rumah Tangga dengan Akses Sanitasi Layak di Kalimantan",
x = "Provinsi",
y = "Persentase Akses Sanitasi Layak (%)"
) +
theme(axis.text.x = element_text(angle = 30, hjust = 1))
