BAGIAN A= DATA CUACA

suhu <- c (32, 33, 34, 35, 30, 29, 33, 32, 34)
mean (suhu)
## [1] 32.44444
median (suhu)
## [1] 33
sd (suhu)
## [1] 1.943651

suhu tertinggi

which (suhu == max(suhu))
## [1] 4

jumlah hari suhu rata-rata

mean_suhu <- mean (suhu)
sum (suhu > mean_suhu)
## [1] 5

Bagian B : Data Transportasi

penumpang <- c(45, 52, 49, 60, 55, 70, 65)
hari <- c ("senin", "selasa", "rabu", "kamis", "jumat", "sabtu", "minggu")

a.membuat data frame

df_transport<- data.frame(
  hari = hari, 
  penumpang = penumpang
)
df_transport
##     hari penumpang
## 1  senin        45
## 2 selasa        52
## 3   rabu        49
## 4  kamis        60
## 5  jumat        55
## 6  sabtu        70
## 7 minggu        65

b.rata-rata penumpang hari senin-jumat(kerja)

mean(df_transport$penumpang[1:5])
## [1] 52.2

c.Hari dengan penumpang terbanyak

df_transport$hari[which.max(df_transport$penumpang)]
## [1] "sabtu"

d.Persentase peningkatan dari Senin ke Sabtu

  peningkatan <- ((penumpang[6] - penumpang[1]) / penumpang[1]) * 100
peningkatan
## [1] 55.55556

Bagian C — Data Ekonomi

harga_beras <- c(12000, 12200, 12150, 12300, 12400, 12500, 12600, 12750)
minggu <- 1:8
  1. Membuat data frame
df_beras <- data.frame(
  Minggu = minggu,
  Harga = harga_beras
)

df_beras
##   Minggu Harga
## 1      1 12000
## 2      2 12200
## 3      3 12150
## 4      4 12300
## 5      5 12400
## 6      6 12500
## 7      7 12600
## 8      8 12750
  1. Rata-rata kenaikan harga per minggu
kenaikan <- diff(harga_beras)
mean(kenaikan)
## [1] 107.1429
  1. Selisih harga antar minggu menggunakan diff()
diff(harga_beras)
## [1] 200 -50 150 100 100 100 150
  1. Minggu dengan kenaikan harga tertinggi
kenaikan <- diff(harga_beras)
minggu_tertinggi <- which.max(kenaikan) + 1
minggu_tertinggi
## [1] 2

Bagian D — Matriks Populasi

populasi <- matrix(
  c(
    50, 55, 60, 65,
    40, 42, 45, 47,
    70, 72, 74, 76
  ),
  nrow = 3,
  byrow = TRUE
)

rownames(populasi) <- c("Kec_A", "Kec_B", "Kec_C")
colnames(populasi) <- c("2019", "2020", "2021", "2022")

populasi
##       2019 2020 2021 2022
## Kec_A   50   55   60   65
## Kec_B   40   42   45   47
## Kec_C   70   72   74   76
  1. Pertumbuhan penduduk rata-rata tiap kecamatan
pertumbuhan <- apply(populasi, 1, function(x) {
  mean(diff(x))
})

pertumbuhan
##    Kec_A    Kec_B    Kec_C 
## 5.000000 2.333333 2.000000
  1. Kecamatan dengan populasi tertinggi tahun 2022
kecamatan_tertinggi <- rownames(populasi)[which.max(populasi[, "2022"])]
kecamatan_tertinggi
## [1] "Kec_C"
  1. Total penduduk tiap tahun
total_tahun <- apply(populasi, 2, sum)
total_tahun
## 2019 2020 2021 2022 
##  160  169  179  188

Bagian E — Fungsi Custom

deteksi_kenaikan <- function(harga) {
  kenaikan <- diff(harga)
  which(kenaikan > 200) + 1
}

Uji menggunakan data harga beras

deteksi_kenaikan(harga_beras)
## numeric(0)