Data diinput dari file CSV dengan syntax sebagai berikut:
dataset <- read_csv("1739240888.csv")
## Rows: 242 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Provinsi
## dbl (6): No, Tahun, Kode_Provinsi, PoU, Jumlah_Penduduk, Penduduk_Undernourish
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
head(dataset)
## # A tibble: 6 × 7
## No Tahun Kode_Provinsi Provinsi PoU Jumlah_Penduduk Penduduk_Undernourish
## <dbl> <dbl> <dbl> <chr> <dbl> <dbl> <dbl>
## 1 1 2018 11 ACEH 8.66 5243400 454185
## 2 2 2018 12 SUMATER… 5.73 14476000 829915
## 3 3 2018 13 SUMATER… 5.45 5411800 294684
## 4 4 2018 14 RIAU 9.63 6717600 646660
## 5 5 2018 15 JAMBI 10.0 3527100 354285
## 6 6 2018 16 SUMATER… 10.8 8391500 909295
Berikut syntax untuk melihat struktur dan ringkasan data.
str(dataset)
## spc_tbl_ [242 × 7] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ No : num [1:242] 1 2 3 4 5 6 7 8 9 10 ...
## $ Tahun : num [1:242] 2018 2018 2018 2018 2018 ...
## $ Kode_Provinsi : num [1:242] 11 12 13 14 15 16 17 18 19 21 ...
## $ Provinsi : chr [1:242] "ACEH" "SUMATERA UTARA" "SUMATERA BARAT" "RIAU" ...
## $ PoU : num [1:242] 8.66 5.73 5.45 9.63 10.04 ...
## $ Jumlah_Penduduk : num [1:242] 5243400 14476000 5411800 6717600 3527100 ...
## $ Penduduk_Undernourish: num [1:242] 454185 829915 294684 646660 354285 ...
## - attr(*, "spec")=
## .. cols(
## .. No = col_double(),
## .. Tahun = col_double(),
## .. Kode_Provinsi = col_double(),
## .. Provinsi = col_character(),
## .. PoU = col_double(),
## .. Jumlah_Penduduk = col_double(),
## .. Penduduk_Undernourish = col_double()
## .. )
## - attr(*, "problems")=<externalptr>
summary(dataset)
## No Tahun Kode_Provinsi Provinsi
## Min. : 1.00 Min. :2018 Min. :11.00 Length:242
## 1st Qu.: 61.25 1st Qu.:2019 1st Qu.:19.00 Class :character
## Median :121.50 Median :2021 Median :51.00 Mode :character
## Mean :121.50 Mean :2021 Mean :47.05
## 3rd Qu.:181.75 3rd Qu.:2023 3rd Qu.:72.00
## Max. :242.00 Max. :2024 Max. :96.00
## PoU Jumlah_Penduduk Penduduk_Undernourish
## Min. : 1.450 Min. : 68280 Min. : 7534
## 1st Qu.: 6.822 1st Qu.: 2077769 1st Qu.: 214239
## Median : 9.360 Median : 4139647 Median : 444275
## Mean :11.610 Mean : 7857869 Mean : 9936395
## 3rd Qu.:12.703 3rd Qu.: 8388050 3rd Qu.: 1321358
## Max. :38.350 Max. :51568693 Max. :341549082
Dataset berisi data dari tahun 2018–2024, sehingga dilakukan penyaringan untuk tahun 2024.
data2024 <- subset(dataset, Tahun == 2024)
head(data2024)
## # A tibble: 6 × 7
## No Tahun Kode_Provinsi Provinsi PoU Jumlah_Penduduk Penduduk_Undernourish
## <dbl> <dbl> <dbl> <chr> <dbl> <dbl> <dbl>
## 1 205 2024 11 ACEH 9.1 5652120 51434292
## 2 206 2024 12 SUMATER… 7.54 15368583 115879116
## 3 207 2024 13 SUMATER… 8.88 5786360 51382877
## 4 208 2024 14 RIAU 10.9 7381474 80679511
## 5 209 2024 15 KOTA JA… 10.6 3739406 39562915
## 6 210 2024 16 SUMATER… 8.88 5786360 51382877
data2024 <- subset(dataset, Tahun == 2024)
nilai <- data2024$Penduduk_Undernourish / 1000000
cex.names = 0.6
warna <- rainbow(length(nilai))
par(mar = c(5,4,4,2) + 0.1) # margin standar
pie(
nilai,
col = warna,
labels = NA,
main = "Proporsi Penduduk Mengalami Ketidakcukupan Konsumsi\nPangan per Provinsi (2024)",
)
legend(
"bottom",
inset = -0.25, # mendorong legend keluar ke bawah
legend = data2024$Provinsi,
fill = warna,
ncol = 3,
cex = 0.6,
xpd = TRUE, # mengizinkan legend di luar plot
bty = "n"
)
Berikut syntax untuk menampilkan diagram batang jumlah penduduk yang mengalami ketidakcukupan konsumsi pangan per provinsi tahun 2024.
data2024 <- subset(dataset, Tahun == 2024)
nilai <- data2024$Penduduk_Undernourish / 1000000
cex.names = 0.6
par(mar = c(10, 4, 4, 2))
barplot(
nilai,
names.arg = data2024$Provinsi,
col = "skyblue",
main = "Jumlah Penduduk Mengalami Ketidakcukupan Konsumsi\nPangan per Provinsi (2024)",
xlab = "Provinsi",
ylab = "Jumlah Penduduk (Juta)",
las = 2,
cex.names = 0.7
)
data2024 <- subset(dataset, Tahun == 2024)
nilai <- data2024$Penduduk_Undernourish / 1000000
cex.names = 0.6
par(mar = c(10, 4, 4, 2))
hist(
nilai,
col = "lightgreen",
main = "Histogram Jumlah Penduduk Mengalami Ketidakcukupa\n Konsumsi Pangan (2024)",
xlab = "Jumlah Penduduk (Juta)",
ylab = "Frekuensi"
)
## Density Plot
data2024 <- subset(dataset, Tahun == 2024)
nilai <- data2024$Penduduk_Undernourish / 1000000
cex.names = 0.6
par(mar = c(10, 4, 4, 2))
plot(
density(nilai),
col = "blue",
lwd = 2,
main = "Density Plot Jumlah Penduduk Mengalami Ketidakcukupan\nKonsumsi Pangan (2024)",
xlab = "Jumlah Penduduk (Juta)"
)
data2024 <- subset(dataset, Tahun == 2024)
nilai <- data2024$Penduduk_Undernourish / 1000000
cex.names = 0.6
par(mar = c(10, 4, 4, 2))
boxplot(
nilai,
col = "orange",
main = "Box Plot Jumlah Penduduk Mengalami Ketidakcukupan\nKonsumsi Pangan (2024)",
ylab = "Jumlah Penduduk (Juta)"
)
data2024 <- subset(dataset, Tahun == 2024)
nilai <- data2024$Penduduk_Undernourish
# Mean
mean(nilai)
## [1] 59597761
# Median
median(nilai)
## [1] 34242878
# Modus
library(modeest)
mfv(nilai)
## [1] 51382877
# Kuartil
quantile(nilai)
## 0% 25% 50% 75% 100%
## 9446187 17686828 34242878 56900823 341549082
# Q1
quantile(nilai, 0.25)
## 25%
## 17686828
# Q3
quantile(nilai, 0.75)
## 75%
## 56900823
# Range
range(nilai)
## [1] 9446187 341549082
# Varians
var(nilai)
## [1] 6.532793e+15
# Standar Deviasi
sd(nilai)
## [1] 80825693
## ### Statistik Inferensia
## Hasil t-test:
## t = 4.164 , df = 37 , p-value = 0.0002
## Mean sampel = 59.6 juta
## 95% Confidence Interval: 33.03 - 86.16 juta
## Interpretasi: Rata-rata penduduk undernourish provinsi 2024 secara signifikan berbeda dari 5 juta.