suhu <- c(32, 33, 31, 34, 35, 30, 29, 33, 32, 34)
cat("Rata-rata suhu =", mean(suhu), "\n")
## Rata-rata suhu = 32.3
cat("Median suhu =", median(suhu), "\n")
## Median suhu = 32.5
cat("Standar deviasi suhu =", sd(suhu), "\n")
## Standar deviasi suhu = 1.888562
cat("Hari dengan suhu tertinggi (hari ke-) =", which.max(suhu), "\n")
## Hari dengan suhu tertinggi (hari ke-) = 5
cat("Jumlah hari di atas rata-rata =", sum(suhu > mean(suhu)), "\n\n")
## Jumlah hari di atas rata-rata = 5
penumpang <- c(45, 52, 49, 60, 55, 70, 65)
hari <- c("Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu")
df_transport <- data.frame(hari, penumpang)
cat("Rata-rata penumpang (Senin-Jumat) =", mean(df_transport$penumpang[1:5]), "\n")
## Rata-rata penumpang (Senin-Jumat) = 52.2
cat("Hari dengan penumpang terbanyak =", df_transport$hari[which.max(df_transport$penumpang)], "\n")
## Hari dengan penumpang terbanyak = Sabtu
cat("Persentase peningkatan (Senin ke Sabtu) =", ((df_transport$penumpang[6] - df_transport$penumpang[1]) / df_transport$penumpang[1]) * 100, "%\n\n")
## Persentase peningkatan (Senin ke Sabtu) = 55.55556 %
harga_beras <- c(12000, 12200, 12150, 12300, 12400, 12500, 12600, 12750)
minggu <- 1:8
df_beras <- data.frame(minggu, harga_beras)
cat("Rata-rata kenaikan harga per minggu =", mean(diff(df_beras$harga_beras)), "\n")
## Rata-rata kenaikan harga per minggu = 107.1429
cat("Selisih harga antar minggu:\n")
## Selisih harga antar minggu:
print(diff(df_beras$harga_beras))
## [1] 200 -50 150 100 100 100 150
cat("Minggu dengan kenaikan harga tertinggi = Minggu ke-", df_beras$minggu[which.max(diff(df_beras$harga_beras)) + 1], "\n\n")
## Minggu dengan kenaikan harga tertinggi = Minggu ke- 2
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")
cat("Pertumbuhan penduduk rata-rata tiap kecamatan:\n")
## Pertumbuhan penduduk rata-rata tiap kecamatan:
print(apply(populasi, 1, function(x) mean(diff(x))))
##    Kec_A    Kec_B    Kec_C 
## 5.000000 2.333333 2.000000
cat("Kecamatan dengan populasi tertinggi pada 2022 =", rownames(populasi)[which.max(populasi[, "2022"])], "\n")
## Kecamatan dengan populasi tertinggi pada 2022 = Kec_C
cat("Total penduduk tiap tahun:\n")
## Total penduduk tiap tahun:
print(colSums(populasi))
## 2019 2020 2021 2022 
##  160  169  179  188
cat("\n")
deteksi_kenaikan <- function(harga) {
  posisi <- which(diff(harga) > 200) + 1
  return(posisi)
}
hasil <- deteksi_kenaikan(df_beras$harga_beras)

if(length(hasil) == 0) {
  cat("Minggu dengan kenaikan harga lebih dari 200 rupiah = Tidak ada\n")
} else {
  cat("Minggu dengan kenaikan harga lebih dari 200 rupiah = Minggu ke-", paste(hasil, collapse = ", "), "\n")
}
## Minggu dengan kenaikan harga lebih dari 200 rupiah = Tidak ada