Menu
Coddy logo textTech

Matris Oluşturma

Coddy'nin R Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 17 / 64.

Bir matris, satırlar ve sütunlar halinde düzenlenmiş bir vektördür ve her değer aynı türe sahiptir. matrix(data, nrow = ...) varsayılan olarak onu sütun sütun doldurur:

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

Çıktı:

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

Satır satır doldurmak için byrow = TRUE ekleyin; bu, her satırın bir satıra yazıldığı verilerle eşleşir:

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

Çıktı:

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

nrow veya ncol değerlerinden birini verin; R, diğerini verilerin uzunluğundan hesaplar.

dim(m) satır ve sütun sayısını döndürür; nrow() ve ncol() ise bunların her birini ayrı ayrı döndürür. matrix(0, nrow = 2, ncol = 3), matrisi doldurmak için tek bir değeri tekrarlar:

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

Çıktı:

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

rbind() vektörleri satır olarak, cbind() ise sütun olarak birleştirir; böylece ayrı vektörlerden bir matris oluşturulur:

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

Çıktı:

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

Görev

Kolay

make_grid(values, n_cols) işlevini tamamlayın. n_cols sütun içeren ve values değerlerini satır satır barındıran bir matris döndürün. Değerlerin sayısı her zaman n_cols sayısının katıdır.

Verilen kod, değerleri virgülle ayrılmış bir satır olarak ve n_cols değerini sonraki satırdan okur. Döndürülen matrisin her satırını kendi satırında yazdırır ve ardından boyutunu rows x columns olarak yazdırır.

Kendin dene

make_grid <- function(values, n_cols) {
  # Kodunuzu buraya yazın
  matrix(values)
}

# Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online R derleyicisi