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
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
kenaikan <- diff(harga_beras)
mean(kenaikan)
## [1] 107.1429
diff(harga_beras)
## [1] 200 -50 150 100 100 100 150
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
pertumbuhan <- apply(populasi, 1, function(x) {
mean(diff(x))
})
pertumbuhan
## Kec_A Kec_B Kec_C
## 5.000000 2.333333 2.000000
kecamatan_tertinggi <- rownames(populasi)[which.max(populasi[, "2022"])]
kecamatan_tertinggi
## [1] "Kec_C"
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)