Menu
CoddyTech

Membuat Matriks

Termasuk bagian Logika dan Alur dalam perjalanan R di Coddy. Pelajaran 17 dari 64.

Matriks adalah vector yang disusun dalam baris dan kolom, dan setiap nilainya memiliki tipe yang sama. matrix(data, nrow = ...) mengisinya kolom demi kolom secara default:

m <- matrix(1:6, nrow = 2)
print(m)

Output:

     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

Tambahkan byrow = TRUE untuk mengisinya baris demi baris, agar sesuai dengan data yang ditulis satu baris per baris:

m <- matrix(1:6, nrow = 2, byrow = TRUE)
print(m)

Output:

     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6

Tentukan nrow atau ncol, R menghitung yang lainnya dari panjang data.

dim(m) mengembalikan jumlah baris dan kolom, sedangkan nrow() dan ncol() masing-masing mengembalikan satu nilai saja. matrix(0, nrow = 2, ncol = 3) mengulangi satu nilai untuk mengisi matriks:

m <- matrix(0, nrow = 2, ncol = 3)
print(dim(m))
print(nrow(m) * ncol(m))
print(length(m))

Output:

[1] 2 3
[1] 6
[1] 6

rbind() menyusun vektor sebagai baris dan cbind() sebagai kolom, sehingga membentuk matriks dari vektor-vektor terpisah:

a <- c(1, 2, 3)
b <- c(4, 5, 6)
print(rbind(a, b))
print(dim(cbind(a, b)))

Output:

  [,1] [,2] [,3]
a    1    2    3
b    4    5    6
[1] 3 2
challenge icon

Tantangan

Mudah

Lengkapi make_grid(values, n_cols). Kembalikan matriks dengan n_cols kolom yang memuat values baris demi baris. Jumlah nilai selalu merupakan kelipatan n_cols.

Kode yang disediakan membaca nilai dari satu baris yang dipisahkan koma dan membaca n_cols dari baris berikutnya. Kode ini mencetak setiap baris dari matriks yang dikembalikan pada barisnya sendiri, lalu mencetak ukurannya sebagai rows x columns.

Coba sendiri

make_grid <- function(values, n_cols) {
  # Tulis kodemu di sini
  matrix(values)
}

# Kode input/output yang disediakan: biarkan apa adanya
input <- suppressWarnings(readLines(file("stdin")))
values <- as.numeric(strsplit(input[1], ",")[[1]])
m <- make_grid(values, as.numeric(input[2]))
for (i in seq_len(nrow(m))) cat(m[i, ], "\n")
cat(nrow(m), "x", ncol(m), "\n")
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler R online