Dalam tugas ini, akan dibahas konsep dasar array serta implementasinya di R untuk data 1D, 2D, dan 3D.
Pengertian Array Array adalah struktur data yang digunakan untuk menyimpan sekumpulan elemen yang memiliki tipe data sama, seperti numerik, karakter, atau logika. Array memudahkan pengelolaan data dalam jumlah besar dengan cara yang sistematis dan efisien.
Jenis-jenis Array Array di dalam R dapat berbentuk satu atau lebih dimensi, yaitu:
Buat array 1D berisi angka ganjil dari 5 sampai 100.
Menggunakan fungsi seq() untuk membuat angka ganjil dari
5 sampai 99. Kemudian array dibuat dari vektor tersebut.
# Membuat array 1D berisi angka ganjil dari 5 sampai 100 menggunakan array()
arrayone = array(seq(5, 99, by = 2))
print(arrayone)
Output:
[1] 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
habis_bagi_4 = arrayone[arrayone %% 4 == 0]
print(habis_bagi_4)
Output:
[1] numeric(0)
total = sum(arrayone)
ratarata = mean(arrayone)
print(total)
print(ratarata)
Output:
Jumlah total: 2496
Rata-rata: 52
Buat array 2 dimensi (m, n) yang elemennya kelipatan 4 dengan m,n > 4.
Gunakan seq() untuk membuat deret kelipatan 4 dan
array() untuk membentuk matriks.
m = 5
n = 6
arraytwo = array(seq(4, by = 4, length.out = m * n), dim = c(m, n))
print(arraytwo)
Output:
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 4 24 44 64 84 104
[2,] 8 28 48 68 88 108
[3,] 12 32 52 72 92 112
[4,] 16 36 56 76 96 116
[5,] 20 40 60 80 100 120
array_lebih = sum(arraytwo > (m * n))
print(array_lebih)
Output:
Jumlah elemen > 30 = 23
diagonal_utama = diag(arraytwo)
print(diagonal_utama)
Output:
[1] 4 28 52 76 100
jumlah_elemenb2 = sum(arraytwo[2, ])
print(jumlah_elemenb2)
Output:
Jumlah elemen baris ke-2: 348
Buat array 3 dimensi (3x5x6) dari angka berurutan mulai dari yang lebih besar dari 10 hingga kurang dari 100.
Gunakan array() untuk membentuk array 3 dimensi dari
angka 11 hingga 99.
array_3d <- array(11:99, dim = c(3, 5, 6))
print(array_3d)
Output:
, , 1
[,1] [,2] [,3] [,4] [,5]
[1,] 11 14 17 20 23
[2,] 12 15 18 21 24
[3,] 13 16 19 22 25
, , 2
[,1] [,2] [,3] [,4] [,5]
[1,] 26 29 32 35 38
[2,] 27 30 33 36 39
[3,] 28 31 34 37 40
, , 3
[,1] [,2] [,3] [,4] [,5]
[1,] 41 44 47 50 53
[2,] 42 45 48 51 54
[3,] 43 46 49 52 55
, , 4
[,1] [,2] [,3] [,4] [,5]
[1,] 56 59 62 65 68
[2,] 57 60 63 66 69
[3,] 58 61 64 67 70
, , 5
[,1] [,2] [,3] [,4] [,5]
[1,] 71 74 77 80 83
[2,] 72 75 78 81 84
[3,] 73 76 79 82 85
, , 6
[,1] [,2] [,3] [,4] [,5]
[1,] 86 89 92 95 98
[2,] 87 90 93 96 99
[3,] 88 91 94 97 11
z_index <- 6
layer_index <- z_index - 3
cat("a. Elemen pada lapisan ke-(z - 3) yaitu lapisan ke-", layer_index, ":
")
print(array_3d[,,layer_index])
Output:
[,1] [,2] [,3] [,4] [,5]
[1,] 41 44 47 50 53
[2,] 42 45 48 51 54
[3,] 43 46 49 52 55
max_value <- max(array_3d)
cat("\nb. Nilai maksimum dari seluruh array:", max_value, "\n")
Output:
Nilai maksimum array: 99
cat("\nc. Rata-rata per kolom :\n")
rata_kolom <- apply(array_3d, c(2), mean)
print(rata_kolom)
Output :
[1] 49.50000 52.50000 55.50000 58.50000 56.55556